{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 🎯 Uplift modeling `metrics`\n",
    "\n",
    "<br>\n",
    "<center>\n",
    "    <a href=\"https://colab.research.google.com/github/maks-sh/scikit-uplift/blob/master/notebooks/uplift_metrics_tutorial.ipynb\">\n",
    "        <img src=\"https://colab.research.google.com/assets/colab-badge.svg\">\n",
    "    </a>\n",
    "    <br>\n",
    "    <b><a href=\"https://github.com/maks-sh/scikit-uplift/\">SCIKIT-UPLIFT REPO</a> | </b>\n",
    "    <b><a href=\"https://scikit-uplift.readthedocs.io/en/latest/\">SCIKIT-UPLIFT DOCS</a> | </b>\n",
    "    <b><a href=\"https://scikit-uplift.readthedocs.io/en/latest/user_guide/index.html\">USER GUIDE</a></b>\n",
    "    <br>\n",
    "</center>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:26.539268Z",
     "start_time": "2021-02-19T20:20:26.526760Z"
    }
   },
   "outputs": [],
   "source": [
    "import sys\n",
    "\n",
    "# install uplift library scikit-uplift and other libraries \n",
    "!{sys.executable} -m pip install scikit-uplift dill catboost"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 📝 Load data\n",
    "\n",
    "We are going to use a `Lenta dataset` from the BigTarget Hackathon hosted in summer 2020 by Lenta and Microsoft.\n",
    "\n",
    "Lenta is a russian food retailer. \n",
    "\n",
    "### Data description\n",
    "\n",
    "✏️ Dataset can be loaded from `sklift.datasets` module using `fetch_lenta` function.\n",
    "\n",
    "Read more about dataset <a href=\"https://www.uplift-modeling.com/en/latest/api/datasets/fetch_lenta.html\">in the api docs</a>.  \n",
    "\n",
    "This is an uplift modeling dataset containing data about Lenta's customers grociery shopping, marketing campaigns communications as `treatment` and store visits as `target`.\n",
    "\n",
    "####  ✏️ Major columns:\n",
    "\n",
    "- `group` - treatment / control flag\n",
    "- `response_att` - binary target\n",
    "- `CardHolder` - customer id\n",
    "- `gender` - customer gender \n",
    "- `age` - customer age"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.041410Z",
     "start_time": "2021-02-19T20:20:31.218625Z"
    },
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "from sklift.datasets import fetch_lenta\n",
    "\n",
    "# returns sklearn Bunch object\n",
    "# with data, target, treatment keys\n",
    "# data features (pd.DataFrame), target (pd.Series), treatment (pd.Series) values \n",
    "dataset = fetch_lenta()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.086524Z",
     "start_time": "2021-02-19T20:20:53.044019Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Dataset type: <class 'sklearn.utils.Bunch'>\n",
      "\n",
      "Dataset features shape: (687029, 193)\n",
      "Dataset target shape: (687029,)\n",
      "Dataset treatment shape: (687029,)\n"
     ]
    }
   ],
   "source": [
    "print(f\"Dataset type: {type(dataset)}\\n\")\n",
    "print(f\"Dataset features shape: {dataset.data.shape}\")\n",
    "print(f\"Dataset target shape: {dataset.target.shape}\")\n",
    "print(f\"Dataset treatment shape: {dataset.treatment.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 📝 EDA"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.181597Z",
     "start_time": "2021-02-19T20:20:53.100485Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>cheque_count_12m_g20</th>\n",
       "      <th>cheque_count_12m_g21</th>\n",
       "      <th>cheque_count_12m_g25</th>\n",
       "      <th>cheque_count_12m_g32</th>\n",
       "      <th>cheque_count_12m_g33</th>\n",
       "      <th>cheque_count_12m_g38</th>\n",
       "      <th>cheque_count_12m_g39</th>\n",
       "      <th>cheque_count_12m_g41</th>\n",
       "      <th>cheque_count_12m_g42</th>\n",
       "      <th>...</th>\n",
       "      <th>sale_sum_6m_g24</th>\n",
       "      <th>sale_sum_6m_g25</th>\n",
       "      <th>sale_sum_6m_g26</th>\n",
       "      <th>sale_sum_6m_g32</th>\n",
       "      <th>sale_sum_6m_g33</th>\n",
       "      <th>sale_sum_6m_g44</th>\n",
       "      <th>sale_sum_6m_g54</th>\n",
       "      <th>stdev_days_between_visits_15d</th>\n",
       "      <th>stdev_discount_depth_15d</th>\n",
       "      <th>stdev_discount_depth_1m</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>47.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>28.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>3141.25</td>\n",
       "      <td>356.67</td>\n",
       "      <td>237.25</td>\n",
       "      <td>283.84</td>\n",
       "      <td>3648.23</td>\n",
       "      <td>1195.37</td>\n",
       "      <td>535.42</td>\n",
       "      <td>1.7078</td>\n",
       "      <td>0.2798</td>\n",
       "      <td>0.3008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>57.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>113.39</td>\n",
       "      <td>62.69</td>\n",
       "      <td>58.71</td>\n",
       "      <td>87.01</td>\n",
       "      <td>179.83</td>\n",
       "      <td>0.00</td>\n",
       "      <td>122.98</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>38.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1239.19</td>\n",
       "      <td>533.46</td>\n",
       "      <td>83.37</td>\n",
       "      <td>593.13</td>\n",
       "      <td>1217.43</td>\n",
       "      <td>1336.83</td>\n",
       "      <td>3709.82</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>65.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>10.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>139.68</td>\n",
       "      <td>1849.91</td>\n",
       "      <td>360.40</td>\n",
       "      <td>175.73</td>\n",
       "      <td>496.73</td>\n",
       "      <td>172.58</td>\n",
       "      <td>1246.21</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>61.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>...</td>\n",
       "      <td>226.98</td>\n",
       "      <td>168.05</td>\n",
       "      <td>461.37</td>\n",
       "      <td>0.00</td>\n",
       "      <td>237.93</td>\n",
       "      <td>225.51</td>\n",
       "      <td>995.27</td>\n",
       "      <td>1.4142</td>\n",
       "      <td>0.3495</td>\n",
       "      <td>0.3495</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687024</th>\n",
       "      <td>35.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>...</td>\n",
       "      <td>550.09</td>\n",
       "      <td>669.33</td>\n",
       "      <td>111.87</td>\n",
       "      <td>0.00</td>\n",
       "      <td>330.96</td>\n",
       "      <td>1173.84</td>\n",
       "      <td>119.99</td>\n",
       "      <td>2.6458</td>\n",
       "      <td>0.3646</td>\n",
       "      <td>0.3282</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687025</th>\n",
       "      <td>33.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>28.01</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687026</th>\n",
       "      <td>36.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>449.01</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687027</th>\n",
       "      <td>37.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.00</td>\n",
       "      <td>46.72</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>687028</th>\n",
       "      <td>40.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>...</td>\n",
       "      <td>290.01</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.00</td>\n",
       "      <td>228.47</td>\n",
       "      <td>752.32</td>\n",
       "      <td>596.86</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>0.0000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>10 rows × 193 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         age  cheque_count_12m_g20  cheque_count_12m_g21  \\\n",
       "0       47.0                   3.0                  22.0   \n",
       "1       57.0                   1.0                   0.0   \n",
       "2       38.0                   7.0                   0.0   \n",
       "3       65.0                   6.0                   3.0   \n",
       "4       61.0                   0.0                   1.0   \n",
       "687024  35.0                   0.0                   0.0   \n",
       "687025  33.0                   0.0                   0.0   \n",
       "687026  36.0                   0.0                   0.0   \n",
       "687027  37.0                   0.0                   1.0   \n",
       "687028  40.0                   0.0                   1.0   \n",
       "\n",
       "        cheque_count_12m_g25  cheque_count_12m_g32  cheque_count_12m_g33  \\\n",
       "0                       19.0                   3.0                  28.0   \n",
       "1                        2.0                   1.0                   1.0   \n",
       "2                       15.0                   4.0                   9.0   \n",
       "3                       25.0                   2.0                  10.0   \n",
       "4                        2.0                   0.0                   2.0   \n",
       "687024                   4.0                   0.0                   2.0   \n",
       "687025                   0.0                   0.0                   0.0   \n",
       "687026                   3.0                   0.0                   0.0   \n",
       "687027                   2.0                   0.0                   0.0   \n",
       "687028                   0.0                   0.0                   2.0   \n",
       "\n",
       "        cheque_count_12m_g38  cheque_count_12m_g39  cheque_count_12m_g41  \\\n",
       "0                        8.0                   7.0                   6.0   \n",
       "1                        1.0                   0.0                   1.0   \n",
       "2                        5.0                   9.0                  14.0   \n",
       "3                       14.0                  11.0                   8.0   \n",
       "4                        1.0                   0.0                   3.0   \n",
       "687024                   0.0                   1.0                   0.0   \n",
       "687025                   0.0                   0.0                   0.0   \n",
       "687026                   0.0                   0.0                   1.0   \n",
       "687027                   0.0                   0.0                   0.0   \n",
       "687028                   0.0                   0.0                   2.0   \n",
       "\n",
       "        cheque_count_12m_g42  ...  sale_sum_6m_g24  sale_sum_6m_g25  \\\n",
       "0                        1.0  ...          3141.25           356.67   \n",
       "1                        0.0  ...           113.39            62.69   \n",
       "2                        7.0  ...          1239.19           533.46   \n",
       "3                        1.0  ...           139.68          1849.91   \n",
       "4                        2.0  ...           226.98           168.05   \n",
       "687024                   3.0  ...           550.09           669.33   \n",
       "687025                   0.0  ...             0.00             0.00   \n",
       "687026                   0.0  ...             0.00             0.00   \n",
       "687027                   1.0  ...             0.00            46.72   \n",
       "687028                   2.0  ...           290.01             0.00   \n",
       "\n",
       "        sale_sum_6m_g26  sale_sum_6m_g32  sale_sum_6m_g33  sale_sum_6m_g44  \\\n",
       "0                237.25           283.84          3648.23          1195.37   \n",
       "1                 58.71            87.01           179.83             0.00   \n",
       "2                 83.37           593.13          1217.43          1336.83   \n",
       "3                360.40           175.73           496.73           172.58   \n",
       "4                461.37             0.00           237.93           225.51   \n",
       "687024           111.87             0.00           330.96          1173.84   \n",
       "687025             0.00             0.00             0.00             0.00   \n",
       "687026             0.00             0.00             0.00           449.01   \n",
       "687027             0.00             0.00             0.00             0.00   \n",
       "687028             0.00             0.00           228.47           752.32   \n",
       "\n",
       "        sale_sum_6m_g54  stdev_days_between_visits_15d  \\\n",
       "0                535.42                         1.7078   \n",
       "1                122.98                         0.0000   \n",
       "2               3709.82                         0.0000   \n",
       "3               1246.21                         0.0000   \n",
       "4                995.27                         1.4142   \n",
       "687024           119.99                         2.6458   \n",
       "687025            28.01                         0.0000   \n",
       "687026             0.00                         0.0000   \n",
       "687027             0.00                         0.0000   \n",
       "687028           596.86                         0.0000   \n",
       "\n",
       "        stdev_discount_depth_15d  stdev_discount_depth_1m  \n",
       "0                         0.2798                   0.3008  \n",
       "1                         0.0000                   0.0000  \n",
       "2                            NaN                   0.0803  \n",
       "3                         0.0000                   0.0000  \n",
       "4                         0.3495                   0.3495  \n",
       "687024                    0.3646                   0.3282  \n",
       "687025                    0.0000                   0.0000  \n",
       "687026                       NaN                      NaN  \n",
       "687027                       NaN                      NaN  \n",
       "687028                    0.0000                   0.0000  \n",
       "\n",
       "[10 rows x 193 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset.data.head().append(dataset.data.tail())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 🤔 target share for `treatment / control` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.356948Z",
     "start_time": "2021-02-19T20:20:53.193956Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>response_att</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>group</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>control</th>\n",
       "      <td>0.897421</td>\n",
       "      <td>0.102579</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>test</th>\n",
       "      <td>0.889874</td>\n",
       "      <td>0.110126</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "response_att         0         1\n",
       "group                           \n",
       "control       0.897421  0.102579\n",
       "test          0.889874  0.110126"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd \n",
    "\n",
    "pd.crosstab(dataset.treatment, dataset.target, normalize='index')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.427973Z",
     "start_time": "2021-02-19T20:20:53.361728Z"
    }
   },
   "outputs": [],
   "source": [
    "# make treatment binary\n",
    "treat_dict = {\n",
    "    'test': 1,\n",
    "    'control': 0\n",
    "}\n",
    "\n",
    "dataset.treatment = dataset.treatment.map(treat_dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:20:53.545895Z",
     "start_time": "2021-02-19T20:20:53.430192Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Ж               433448\n",
      "М               243910\n",
      "Не определен      9671\n",
      "Name: gender, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# fill NaNs in the categorical feature `gender` \n",
    "# for CatBoostClassifier\n",
    "dataset.data['gender'] = dataset.data['gender'].fillna(value='Не определен')\n",
    "\n",
    "print(dataset.data['gender'].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ✂️ train test split\n",
    "\n",
    "- stratify by two columns: treatment and target. \n",
    "\n",
    "`Intuition:` In a binary classification problem definition we stratify train set by splitting target `0/1` column. In uplift modeling we have two columns instead of one. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:21:03.159534Z",
     "start_time": "2021-02-19T20:20:53.548597Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train shape: (480920, 193)\n",
      "Validation shape: (206109, 193)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "stratify_cols = pd.concat([dataset.treatment, dataset.target], axis=1)\n",
    "\n",
    "X_train, X_val, trmnt_train, trmnt_val, y_train, y_val = train_test_split(\n",
    "    dataset.data,\n",
    "    dataset.treatment,\n",
    "    dataset.target,\n",
    "    stratify=stratify_cols,\n",
    "    test_size=0.3,\n",
    "    random_state=42\n",
    ")\n",
    "\n",
    "print(f\"Train shape: {X_train.shape}\")\n",
    "print(f\"Validation shape: {X_val.shape}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-06-07T17:47:46.311346Z",
     "start_time": "2020-06-07T17:47:46.293688Z"
    }
   },
   "source": [
    "# 👾 Class Transformation uplift model\n",
    "\n",
    "`Class transformation` method is described <a href=\"https://www.uplift-modeling.com/en/latest/user_guide/models/revert_label.html\"> here</a>  \n",
    "\n",
    "Class transormation method `may` be used in case of treatment unbalanced data. In this case one will get not an uplift score but some *ranking* score still useful for ranking objects."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:21:03.204975Z",
     "start_time": "2021-02-19T20:21:03.165305Z"
    }
   },
   "outputs": [],
   "source": [
    "from sklift.models import ClassTransformation\n",
    "from catboost import CatBoostClassifier\n",
    "\n",
    "estimator = CatBoostClassifier(verbose=100, \n",
    "                               cat_features=['gender'],\n",
    "                               random_state=42,\n",
    "                               thread_count=1)\n",
    "\n",
    "ct_model = ClassTransformation(estimator=estimator)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:37:38.852200Z",
     "start_time": "2021-02-19T20:21:03.208181Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/macdrive/GoogleDrive/Проекты/Uplift/sklift-env/lib/python3.7/site-packages/ipykernel_launcher.py:4: UserWarning: It is recommended to use this approach on treatment balanced data. Current sample size is unbalanced.\n",
      "  after removing the cwd from sys.path.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate set to 0.143939\n",
      "0:\tlearn: 0.6685632\ttotal: 1.03s\tremaining: 17m 6s\n",
      "100:\tlearn: 0.5948982\ttotal: 1m 34s\tremaining: 14m\n",
      "200:\tlearn: 0.5907078\ttotal: 3m 16s\tremaining: 13m 3s\n",
      "300:\tlearn: 0.5869612\ttotal: 4m 51s\tremaining: 11m 16s\n",
      "400:\tlearn: 0.5835421\ttotal: 6m 35s\tremaining: 9m 51s\n",
      "500:\tlearn: 0.5801981\ttotal: 8m 31s\tremaining: 8m 29s\n",
      "600:\tlearn: 0.5769677\ttotal: 10m 13s\tremaining: 6m 47s\n",
      "700:\tlearn: 0.5737862\ttotal: 11m 44s\tremaining: 5m\n",
      "800:\tlearn: 0.5706947\ttotal: 13m 37s\tremaining: 3m 23s\n",
      "900:\tlearn: 0.5677125\ttotal: 15m 7s\tremaining: 1m 39s\n",
      "999:\tlearn: 0.5648426\ttotal: 16m 29s\tremaining: 0us\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "ClassTransformation(estimator=<catboost.core.CatBoostClassifier object at 0x12212bba8>)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ct_model.fit(\n",
    "    X=X_train, \n",
    "    y=y_train, \n",
    "    treatment=trmnt_train\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Save model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:37:38.925679Z",
     "start_time": "2021-02-19T20:37:38.857315Z"
    }
   },
   "outputs": [],
   "source": [
    "import dill\n",
    "\n",
    "with open(\"model.dill\", 'wb') as f:\n",
    "    dill.dump(ct_model, f)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Uplift prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-19T20:37:39.642947Z",
     "start_time": "2021-02-19T20:37:38.928915Z"
    }
   },
   "outputs": [],
   "source": [
    "uplift_ct = ct_model.predict(X_val)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 🚀🚀🚀 Uplift metrics"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##  🚀 `uplift@k`\n",
    "\n",
    "- uplift at first k%\n",
    "- usually falls between [0; 1] depending on k, model quality and data\n",
    "\n",
    "\n",
    "### `uplift@k` = `target mean at k% in the treatment group` - `target mean at k% in the control group`\n",
    "\n",
    "___\n",
    "\n",
    "How to count `uplift@k`:\n",
    "\n",
    "1. sort by predicted uplift\n",
    "2. select first k%\n",
    "3. count target mean in the treatment group\n",
    "4. count target mean in the control group\n",
    "5. substract the mean in the control group from the mean in the treatment group\n",
    "\n",
    "---\n",
    "\n",
    "Code parameter options:\n",
    "\n",
    "- `strategy='overall'` - sort by uplift treatment and control together\n",
    "- `strategy='by_group'` - sort by uplift treatment and control separately"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:36:32.767618Z",
     "start_time": "2021-02-18T19:36:32.618887Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "uplift@10%: 0.1467 (sort groups by uplift together)\n",
      "uplift@10%: 0.1503 (sort groups by uplift separately)\n"
     ]
    }
   ],
   "source": [
    "from sklift.metrics import uplift_at_k\n",
    "\n",
    "# k = 10%\n",
    "k = 0.1  \n",
    "\n",
    "# strategy='overall' sort by uplift treatment and control together\n",
    "uplift_overall = uplift_at_k(y_val, uplift_ct, trmnt_val, strategy='overall', k=k)\n",
    "\n",
    "# strategy='by_group' sort by uplift treatment and control separately\n",
    "uplift_bygroup = uplift_at_k(y_val, uplift_ct, trmnt_val, strategy='by_group', k=k)\n",
    "\n",
    "\n",
    "print(f\"uplift@{k * 100:.0f}%: {uplift_overall:.4f} (sort groups by uplift together)\")\n",
    "print(f\"uplift@{k * 100:.0f}%: {uplift_bygroup:.4f} (sort groups by uplift separately)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🚀 `uplift_by_percentile` table\n",
    "\n",
    "Count metrics for each percentile in data in descending order by uplift prediction (by rows):\n",
    "\n",
    "- `n_treatment` - treatment group size in the one percentile\n",
    "- `n_control` - control group size in the one percentile\n",
    "- `response_rate_treatment` -  target mean in the treatment group in the one percentile\n",
    "- `response_rate_control` - target mean in the control group in the one percentile\n",
    "- `uplift = response_rate_treatment - response_rate_control` in the one percentile\n",
    "\n",
    "___\n",
    "\n",
    "Code parameter options are:\n",
    "\n",
    "- `strategy='overall'` - sort by uplift treatment and control groups together\n",
    "- `strategy='by_group'` - sort by uplift treatment and control groups separately\n",
    "- `total=True` - show total metric on full data\n",
    "- `std=True` - show metrics std by row "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:36:49.986630Z",
     "start_time": "2021-02-18T19:36:49.766425Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>n_treatment</th>\n",
       "      <th>n_control</th>\n",
       "      <th>response_rate_treatment</th>\n",
       "      <th>response_rate_control</th>\n",
       "      <th>uplift</th>\n",
       "      <th>std_treatment</th>\n",
       "      <th>std_control</th>\n",
       "      <th>std_uplift</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>percentile</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-10</th>\n",
       "      <td>12715</td>\n",
       "      <td>7896</td>\n",
       "      <td>0.366339</td>\n",
       "      <td>0.219605</td>\n",
       "      <td>0.146734</td>\n",
       "      <td>0.004273</td>\n",
       "      <td>0.004659</td>\n",
       "      <td>0.006321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10-20</th>\n",
       "      <td>15560</td>\n",
       "      <td>5051</td>\n",
       "      <td>0.214267</td>\n",
       "      <td>0.197783</td>\n",
       "      <td>0.016485</td>\n",
       "      <td>0.003289</td>\n",
       "      <td>0.005605</td>\n",
       "      <td>0.006499</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20-30</th>\n",
       "      <td>15683</td>\n",
       "      <td>4928</td>\n",
       "      <td>0.149525</td>\n",
       "      <td>0.130682</td>\n",
       "      <td>0.018843</td>\n",
       "      <td>0.002848</td>\n",
       "      <td>0.004801</td>\n",
       "      <td>0.005582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30-40</th>\n",
       "      <td>15675</td>\n",
       "      <td>4936</td>\n",
       "      <td>0.111388</td>\n",
       "      <td>0.098663</td>\n",
       "      <td>0.012725</td>\n",
       "      <td>0.002513</td>\n",
       "      <td>0.004245</td>\n",
       "      <td>0.004933</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40-50</th>\n",
       "      <td>15798</td>\n",
       "      <td>4813</td>\n",
       "      <td>0.082795</td>\n",
       "      <td>0.077914</td>\n",
       "      <td>0.004881</td>\n",
       "      <td>0.002192</td>\n",
       "      <td>0.003864</td>\n",
       "      <td>0.004442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50-60</th>\n",
       "      <td>15776</td>\n",
       "      <td>4835</td>\n",
       "      <td>0.062500</td>\n",
       "      <td>0.057911</td>\n",
       "      <td>0.004589</td>\n",
       "      <td>0.001927</td>\n",
       "      <td>0.003359</td>\n",
       "      <td>0.003873</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60-70</th>\n",
       "      <td>15768</td>\n",
       "      <td>4843</td>\n",
       "      <td>0.051560</td>\n",
       "      <td>0.050176</td>\n",
       "      <td>0.001385</td>\n",
       "      <td>0.001761</td>\n",
       "      <td>0.003137</td>\n",
       "      <td>0.003597</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70-80</th>\n",
       "      <td>15793</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.042171</td>\n",
       "      <td>0.034869</td>\n",
       "      <td>0.007301</td>\n",
       "      <td>0.001599</td>\n",
       "      <td>0.002643</td>\n",
       "      <td>0.003089</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>80-90</th>\n",
       "      <td>15884</td>\n",
       "      <td>4727</td>\n",
       "      <td>0.035193</td>\n",
       "      <td>0.031521</td>\n",
       "      <td>0.003672</td>\n",
       "      <td>0.001462</td>\n",
       "      <td>0.002541</td>\n",
       "      <td>0.002932</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>90-100</th>\n",
       "      <td>16116</td>\n",
       "      <td>4494</td>\n",
       "      <td>0.039030</td>\n",
       "      <td>0.041611</td>\n",
       "      <td>-0.002582</td>\n",
       "      <td>0.001526</td>\n",
       "      <td>0.002979</td>\n",
       "      <td>0.003347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>total</th>\n",
       "      <td>154768</td>\n",
       "      <td>51341</td>\n",
       "      <td>0.110126</td>\n",
       "      <td>0.102569</td>\n",
       "      <td>0.007557</td>\n",
       "      <td>0.023390</td>\n",
       "      <td>0.037832</td>\n",
       "      <td>0.044615</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            n_treatment  n_control  response_rate_treatment  \\\n",
       "percentile                                                    \n",
       "0-10              12715       7896                 0.366339   \n",
       "10-20             15560       5051                 0.214267   \n",
       "20-30             15683       4928                 0.149525   \n",
       "30-40             15675       4936                 0.111388   \n",
       "40-50             15798       4813                 0.082795   \n",
       "50-60             15776       4835                 0.062500   \n",
       "60-70             15768       4843                 0.051560   \n",
       "70-80             15793       4818                 0.042171   \n",
       "80-90             15884       4727                 0.035193   \n",
       "90-100            16116       4494                 0.039030   \n",
       "total            154768      51341                 0.110126   \n",
       "\n",
       "            response_rate_control    uplift  std_treatment  std_control  \\\n",
       "percentile                                                                \n",
       "0-10                     0.219605  0.146734       0.004273     0.004659   \n",
       "10-20                    0.197783  0.016485       0.003289     0.005605   \n",
       "20-30                    0.130682  0.018843       0.002848     0.004801   \n",
       "30-40                    0.098663  0.012725       0.002513     0.004245   \n",
       "40-50                    0.077914  0.004881       0.002192     0.003864   \n",
       "50-60                    0.057911  0.004589       0.001927     0.003359   \n",
       "60-70                    0.050176  0.001385       0.001761     0.003137   \n",
       "70-80                    0.034869  0.007301       0.001599     0.002643   \n",
       "80-90                    0.031521  0.003672       0.001462     0.002541   \n",
       "90-100                   0.041611 -0.002582       0.001526     0.002979   \n",
       "total                    0.102569  0.007557       0.023390     0.037832   \n",
       "\n",
       "            std_uplift  \n",
       "percentile              \n",
       "0-10          0.006321  \n",
       "10-20         0.006499  \n",
       "20-30         0.005582  \n",
       "30-40         0.004933  \n",
       "40-50         0.004442  \n",
       "50-60         0.003873  \n",
       "60-70         0.003597  \n",
       "70-80         0.003089  \n",
       "80-90         0.002932  \n",
       "90-100        0.003347  \n",
       "total         0.044615  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklift.metrics import uplift_by_percentile\n",
    "\n",
    "uplift_by_percentile(y_val, uplift_ct, trmnt_val, \n",
    "                     strategy='overall', \n",
    "                     total=True, std=True, bins=10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🚀 `weighted average uplift `\n",
    "\n",
    "- counts uplift on full data\n",
    "- uses results from `uplift_by_percentile` table\n",
    "- result depends on number of bins\n",
    "\n",
    "### `weighted average uplift` = `sum of uplift by percentile weighted on the treatment group size`\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:36:55.281993Z",
     "start_time": "2021-02-18T19:36:55.170863Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "average uplift on full data: 0.0189\n"
     ]
    }
   ],
   "source": [
    "from sklift.metrics import weighted_average_uplift\n",
    "\n",
    "uplift_full_data = weighted_average_uplift(y_val, uplift_ct, trmnt_val, bins=10) \n",
    "print(f\"average uplift on full data: {uplift_full_data:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🚀 `uplift_by_percentile` plot\n",
    "\n",
    "- visualize results of `uplift_by_percentile` table\n",
    "\n",
    "Two ways to plot:\n",
    "\n",
    "- line plot `kind='line'`\n",
    "- bar plot `kind='bar'`\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:01.771296Z",
     "start_time": "2021-02-18T19:37:00.777556Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklift.viz import plot_uplift_by_percentile\n",
    "\n",
    "# line plot\n",
    "plot_uplift_by_percentile(y_val, uplift_ct, trmnt_val, strategy='overall', kind='line');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:05.278805Z",
     "start_time": "2021-02-18T19:37:04.673485Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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FV3r1q3p3LkzJSUlmdbP8tbAUcDlQCnJcKNjJI2MiLvWJNDmYODAgQCUlpbWaxxmZmtTeXk5bdu2pWvXrqw6krbVt4hg3rx5lJeX061bt0zbZKka+AXQt6IUQFIH4HHAiYCZWTP0xRdfOAlooCSxySabMGfOnMzbZEkEWuRVBcwj29sGzUb3K7pXOX/2zNk1Ln/n3HcKFpOZWSE5CWi46vq7yXJDf0TSo5KGpUOnPgQ8vBqxNTsdT+lIx1M61ncYZmZNyqeffsqf//znBrevhnCc1VFrIhARI4HrgJ7p5/qIOK/QgZmZmVWlupvqihUr1tq+1rZGnQikngOeAp4Eni9cOGZmZjU7//zzeeedd+jVqxd9+/ZlwIABDB48mB49erBy5UpGjhxJ37596dmzJ9dddx0AixcvZp999mGXXXZhp5124v777//avkaOHElpaSl77bUXhx56KFtttRXnn38+t956K/369WOnnXbinXeSKt05c+Zw+OGH07dvX/r27cuzzz4LwKhRoxg+fDgDBw5kq6224uqrr67yOA1JlrcGTgQuAp7gq7cGLomIGwodnJmZWb5LL72U119/nUmTJlFaWspBBx3E66+/Trdu3bj++utp164dL730EkuXLmX33Xdn//33Z4sttuDee+9lww03ZO7cufTv35/Bgwevsi9I3vJ65ZVXmDJlChtvvDFbbbUVJ554Ii+++CJXXXUVY8aM4corr+TMM8/k7LPPZo899uD9999n0KBBTJkyBYA333yTJ598kkWLFrHttttyyimnfO04DUmWxoIjgd4RMQ9A0iYkJQROBMzMrN7169ev8lW5xx57jFdffZW77kpebFuwYAFTp06lc+fO/PznP2f8+PG0aNGCWbNm8dFHH1W5v759+/LNb34TgO7du7P//vsDsNNOO/Hkk08C8PjjjzN58uTKbRYuXMjixYsBOOigg2jVqhWtWrVis802q/Y4DUWWRGAesChnelE6z8zMrN5tsMEGld8jgjFjxjBo0KBV1rnpppuYM2cOEyZMoKSkhK5du1bbIVKrVq0qv7do0aJyukWLFpXtEL788kteeOEFWrduXeP2LVu2XK22C8WUpY3ANOC/kkZJuhh4AXhb0jmSzilseGZmZqtq27YtixYtqnLZoEGDuOaaa1i+fDkAb7/9NkuWLGHBggVsttlmlJSU8OSTTzJjxoxa91WT/fffnzFjxlRO11bkv7rHKYYsJQLvpJ8K96c/2679cMzMrLGprq+U1VVbHyubbLIJu+++OzvuuCPrrbcem2++eeWyE088kenTp7PLLrsQEXTo0IH77ruPY489lkMOOYSddtqJPn36sN12231tXwceeCAHHXRQphivvvpqTj31VHr27MmKFSvYc889ufbaazPFfOCBB3L55ZdnOk4xKCKyryy1ANpExMLChVR4ffr0ibKysrW2v9X9I3CHQmbWGE2ZMoXtt9++crrYiYDVLv93BCBpQkT0yV+31qoBSeMkbShpA+B1kiGJG9a7D2ZmZrZasrQR6JGWABwG/AvoBvygoFGZmZlZUWRJBEoklZAkAg9ExHIge32CmZmZNVhZEoHrgOnABsB4SV2ARt1GwMzMrDEoLS3lueeeK+gxsow1cHVEdIqI70ZiBvCdgkZlZmaWQUTw5Zdf1ncYa6SmfgaKkQhk6WJ4c+B/gY4RcaCkHsBuwN8KGpmZmTUKxW7lP336dAYNGsSuu+7KhAkTePjhh7njjju44447WLp0Kd/73vf41a9+xZIlSzjqqKMoLy9n5cqV/PKXv2TIkCF07dqVo446in/961+st956jBs3jm9961tMnz6d4cOHM3fuXDp06MCNN97IlltuybBhw9hwww0pKyvjww8/5LLLLuOII47ggw8+YMiQISxcuJAVK1ZwzTXXMGDAAB577DEuvvhili5dSvfu3bnxxhtp06bNKucwcOBAevXqxTPPPMPQoUPZZpttGD16NMuWLWOTTTbh1ltv5fPPP+faa6+lZcuW3HLLLYwZM4btttuOESNG8P777wNw5ZVXsvvuu6/R9cxSNXAT8ChQMZ7u28BZa3RUMzOzNTB16lR+8pOf8MYbb/DWW28xdepUXnzxRSZNmsSECRMYP348jzzyCB07duSVV17h9ddf54ADDqjcvl27drz22mucdtppnHVWcks7/fTTOeGEE3j11Vc59thjOeOMMyrX/+CDD3jmmWd48MEHOf/88wEYN24cgwYNYtKkSbzyyiv06tWLuXPnMnr0aB5//HEmTpxInz59+MMf/lDlOSxbtoyysjJ++tOfsscee/DCCy/w8ssvc/TRR3PZZZfRtWtXRowYwdlnn82kSZMYMGBA5RgHL730EnfffTcnnnjiGl/LLB0KbRoRd0i6ACAiVkhaucZHNjMzW01dunShf//+QDK+wGOPPUbv3r2BZKTBqVOnMmDAAH76059y3nnncfDBBzNgwIDK7YcOHVr58+yzzwbg+eef55577gHgBz/4AT/72c8q1z/ssMNo0aIFPXr0qBw7oG/fvgwfPpzly5dz2GGH0atXL5566ikmT55c+ZS+bNkydttttyrPYciQIZXfy8vLGTJkCB988AHLli2rHDshX3VjHOSXONRFlkRgSTrQUABI6g8sWO0jmpmZraH88QUuuOACfvzjH39tvYkTJ/Lwww9z4YUXss8++3DRRRcBIKlyndzv1ckdP6CiI74999yT8ePH89BDDzFs2DDOOecc2rdvz3777cc//vGPOp3D6aefzjnnnMPgwYMpLS1l1KhRVW5T0xgHqytL1cA5wANAd0nPAmOB09daBGZmZmtg0KBB3HDDDZWj/82aNYuPP/6Y2bNns/7663PccccxcuRIJk6cWLnN7bffXvmz4on929/+NrfddhsAt9566yolCFWZMWMGm2++OSeddBInnngiEydOpH///jz77LNMmzYNgCVLlvD222/Xeg4LFiygU6dOANx8882V8/PHKKjrGAdZ1FgiIKklsFf62RYQ8Fbal0BRSDoAuApoCfw1Ii7NWz4COBVYCSwGTo6IyV/bkZmZNUn7778/U6ZMqbyht2nThltuuYVp06YxcuRIWrRoQUlJCddcc03lNvPnz6dnz560atWq8ul9zJgx/PCHP+Tyyy+vbCxYk9LSUi6//HJKSkpo06YNY8eOpUOHDtx0000MHTqUpUuXAjB69Gi22WabGvc1atQojjzySNq3b8/ee+/Ne++9B8AhhxzCEUccwf3338+YMWPqPMZBFrWONSDpxYjot0ZHWU1pIvI2sB9QDrwEDM290UvasGLsA0mDgZ9ExAFV7a+CxxowM1t9VfVj35h07dqVsrIyNt100/oOpWDqMtZAljYCz0r6I3A7sKRiZkRMrH6TtaYfMC0i3gWQdBtwKFCZCOQNgLQB7vXQzMwssyyJQK/05yU58wLYe+2H8zWdgJk50+XArvkrSTqVpC3DukWKy8zMGqnp06fXdwgNSq2JQEQ0+F4EI+JPwJ8kHQNcCJyQv46kk4GTAbbccsviBmhmZtZAZXlroD7NArbIme6czqvObSSDI31NRFwfEX0iok+HDh3WYohmZmaNV0NPBF4CtpbUTdK6wNEkrzJWkrR1zuRBwNQixmdmZtaoZRlroFVELK1tXiGkvRieRtLFcUvghoh4Q9IlQFlEPACcJmlfYDkwnyqqBczMzKxqWUoEns84ryAi4uGI2CYiukfEb9J5F6VJABFxZkTsEBG9IuI7EfFGsWIzM7PGafr06YwbN67O2910002cdtppBYio/lSbCEj6hqT/AdaT1FvSLulnILB+0SI0MzNby2pKBGoaFrgpqqlqYBAwjKSBXu7QSYuAnxcwJjMzsxqNHTuWK664Akn07NmTX//613UaQvj8889nypQp9OrVixNOOIH27dtzzz33sHjxYlauXMm9997L8OHDeffdd1l//fW5/vrr6dmzZ32fdkFUmwhExM3AzZIOj4i7ixiTmZlZtd544w1Gjx7Nc889x6abbsonn3zCCSecUPm54YYbOOOMM7jvvvuAr4YQfvPNNxk8eDBHHHEEl156KVdccQUPPvggkBT5T5w4kVdffZWNN96Y008/nd69e3PffffxxBNPcPzxx6+Vfv0boiwdCj2Yvp/fNXf9iLik2i3MzMwK5IknnuDII4+s7CJ44403rvMQwlXZb7/92HjjjQF45plnuPvu5Bl47733Zt68eSxcuLDabRuzLInA/STDDk8ACv6mgJmZ2dpU1RDCVckdFrg5yfLWQOeIGBIRl0XE7ys+BY/MzMysCnvvvTd33nkn8+bNA+CTTz6p8xDC+cP75hswYAC33norkIwyuOmmm7LhhhuupTNoWLKUCDwnaaeIeK3g0ZiZWeMzTmt3f8fUPHbcDjvswC9+8Qv22msvWrZsSe/eves8hHDPnj1p2bIlO++8M8OGDaN9+/arLB81ahTDhw+nZ8+erL/++tx8881rfFoNVZZhiCcD3wLeI6kaEBAR0WibT3oYYjOz1fe1IW6LnAhY7db2MMQHrq3AzMzMrGGptY1ARMwgGfhn7/T7Z1m2MzMzs4av1hu6pIuB84AL0lklwC2FDMrMzMyShorPPfdcQY+R5cn+e8BgYAlARMwG2hYyKDMzsywigi+//LK+w1gjNXVp3FASgWWRtCgMAEnN80VLMzNrEKZPn862227L8ccfz4477sjMmTO5/PLL6du3Lz179uTiiy8GYMmSJRx00EHsvPPO7Ljjjtx+++0AdO3alZ/97GfstNNO9OvXj2nTplXud++996Znz57ss88+vP/++wAMGzaMM844g29/+9tstdVW3HXXXUDSY+Gee+5Jr1692HHHHXn66acBeOyxx9htt93YZZddOPLII1m8ePHXzmHgwIGcddZZ9OnTh6uuuop//vOf7LrrrvTu3Zt9992Xjz76iOnTp3Pttdfyf//3f/Tq1Yunn36aOXPmcPjhh9O3b1/69u3Ls88+u8bXM0tjwTskXQdsJOkkYDjwlzU+spmZNQ310Mp/6tSp3HzzzfTv35/HHnuMqVOn8uKLLxIRDB48mPHjxzNnzhw6duzIQw89BMCCBQsqt2/Xrh2vvfYaY8eO5ayzzuLBBx/k9NNPr1M3xePGjWPQoEH84he/YOXKlXz22WfMnTuX0aNH8/jjj7PBBhvwu9/9jj/84Q9cdNFFXzuHZcuWUfEG2/z583nhhReQxF//+lcuu+wyfv/73zNixAjatGnDueeeC8AxxxzD2WefzR577MH777/PoEGDmDJlyhpdy1oTgYi4QtJ+wEJgW+CiiPj3Gh3VzMxsDXTp0oX+/fsDyRP4Y489Ru/evQFYvHgxU6dOZcCAAfz0pz/lvPPO4+CDD16lk6GhQ4dW/jz77LMB6txNcd++fRk+fDjLly/nsMMOo1evXjz11FNMnjyZ3XffHUhu9rvttluV5zBkyJDK7+Xl5QwZMoQPPviAZcuW0a1btyq3efzxx5k8eXLl9MKFC1m8eDFt2rSpw9VbVZYSASLi35L+W7G+pI0j4pPVPqqZmdkayO0OOCK44IIL+PGPf/y19SZOnMjDDz/MhRdeyD777FP5ZC591fdB7vfqVNVN8Z577sn48eN56KGHGDZsGOeccw7t27dnv/324x//+EedzuH000/nnHPOYfDgwZSWljJq1Kgqt/nyyy954YUXaN26da37zyrLWwM/lvQh8CpQRjLmwNrrjcfMzGwNDBo0iBtuuKGyLn7WrFl8/PHHzJ49m/XXX5/jjjuOkSNHMnHixMptKtoL3H777ZVP7HXtpnjGjBlsvvnmnHTSSZx44olMnDiR/v378+yzz1a2O1iyZAlvv/12reewYMECOnXqBLBKL4b5XSHvv//+jBkzpnJ6bYyImKVE4Fxgx4iYu8ZHMzMzW8v2339/pkyZUnlDb9OmDbfccgvTpk1j5MiRtGjRgpKSEq655prKbebPn0/Pnj1p1apV5dN7XbspLi0t5fLLL6ekpIQ2bdowduxYOnTowE033cTQoUNZujQZp2/06NFss802Ne5r1KhRHHnkkbRv3569996b9957D4BDDjmEI444gvvvv58xY8Zw9dVXc+qpp9KzZ09WrFjBnnvuybXXXrva1w6ydTH8CPD9iPhsjY7UgLiLYTOz1VdV97WNSdeuXSkrK6scxrgpWttdDF9AMvDQf8kZhjgizljTQM3MzKx+ZUkErgOeAF4DGnevDWZm1uxNnz69vkNoULIkAiURcU7BIzEzM7Oiy9Kz4L8knSzpm5I2rvgUPLJmbODAgQwcOLC+wzAzq1Zt7cus/tT1d5OlRGBo+vOCnHkBbFWnI9nXVTeG98e1LPdY3WZWj1q3bs28efPYZJNNMr2Db8UTEcybN69O/QxkSQS2j4gvcmdIWns9GVi9qyh9KC0trdc4zKxx6Ny5M+Xl5cyZM6e+Q7EqtG7dms6dO2deP0si8BywS4Z5tpaUXliY/Vb3muPsmbNrXO7XHM0sV0lJSbVd4FrjU20iIOkbQCdgPUm9gYrynw2B9YsQm5mZmRVYTSUCg4BhQGfgDznzFwE/L2BMq5B0AHAV0BL4a0Rcmrf8HOBEYAUwBxgeETOKFV9T0PGUjvUdgpmZ1ZNqE4GIuBm4WdLhEXF3EWOqJKkl8CdgP6AceEnSAxExOWe1l4E+EfGZpFOAy4AhX9+bmZmZ5csyDPHdkg4CdgBa58y/pJCBpfoB0yLiXQBJtwGHApWJQEQ8mbP+C8BxRYjLcCNDM7OmIMvog9eSPGGfTtJO4EigS4HjqtAJmJkzXZ7Oq86PgH9VtSDtC6FMUplbupqZmSWyvDXw7YjoKenViPiVpN9Tzc22Pkk6DugD7FXV8oi4HrgekkGHihha4+f+DszMmqwsicDn6c/PJHUE5gHfLFxIq5gFbJEz3TmdtwpJ+wK/APaKiKX5y83MzKxqWRKBByVtBFwOTCTpVfCvBY3qKy8BW0vqRpIAHA0ck7tC+mrjdcABEfHx13dhhVKo/g7MzKx4sjQW/HX69W5JDwKtI2JBYcOqPPYKSacBj5K8PnhDRLwh6RKgLCIeIElQ2gB3pl1dvh8Rg4sRn5mZWWNXayIgaX3gp8CWEXGSpC0lDYiIBwsfHkTEw8DDefMuyvm+bzHiMDMza4qyjD54I7AU2C2dngWMLlhEZmZmVjRZEoHuEXEZsBwgIj7jq+6GzczMrBHLkggsk7QeSSNBJHUnKSEwMzOzRi7LWwMXA48AW0i6FdidZAwCMzMza+RqTAQktQDaA98H+pNUCZwZEXOLEJuZmZkVWI2JQER8KelnEXEH8FCRYjIzM7MiydJG4HFJ50raQtLGFZ+CR2ZmZmYFl6WNQMWQvqfmzAtgq7UfjpmZmRVTlkRg+4j4IneGpNbVrWxmZmaNR5aqgecyzjMzM7NGptoSAUnfADoB66UD+1R0IrQhsH4RYjMzM7MCq6lqYBBJfwGdgd/zVSKwEPh5YcMy+7qBAwcCUFpaWq9xmJk1JdUmAhFxM3CzpMMj4u4ixmRmZmZFkmUYYicBVlTdr+he5fzZM2fXuPydc98pWExmZk1VlrcGzBqEjqd0rO8QzMyanCxvDZiZmVkTlSkRkLRd7k8zMzNrGrKWCIzL+2lmZmZNQF2rBlT7KmYNy8CBAytfPTQzs1W5saA1HeOqyVM/rmX5MVGQcMzMGgM3FjQzM2vG6loi4Ecna3RKL6zvCMzMGq6sJQLK+2lmZmZNQNZEYEDeTzMzM2sCMiUCEbE496eZmZk1DW4saLaW+XVFM2tM/Pqg2Wry4Ehm1hTUWiIg6cws8wpF0gGS3pI0TdL5VSzfU9JESSskHVGsuMyq0/GUjh4gycwajSxVAydUMW/YWo6jSpJaAn8CDgR6AEMl9chb7f00Hnd/bGZmVkfVVg1IGgocA2wl6YGcRW2BTwodWKofMC0i3k1jug04FJhcsUJETE+XfVmkmMwKoqJdQWlpab3GYWbNS01tBF4APgA2BX6fM38R8Gohg8rRCZiZM10O7Lo6O5J0MnAy/9/emYfZWVXp/vcGEgIJJIFgSyAQZggiU8CGgIQZLpNiZEZBmRSQQa6gzAjSgC0XuAxGZuiHUblGBWkahAbRljkh0KAgMmoTQJmHhPf+sfYJJ2VVpRKrzvdVzvo9Tz3nfPt8Veet/U1rr7X22sCyyy77jytLkiRJkvmA7gyBm2yvJ+kd23e3TFEfYXsSMAlg3LhxWSExqY5cEyFJkhrRnSEwQNJ3gFUkHdXxQ9s/6DtZs3gRGN20vUxpS5L5jiyFnCRJFXSXLLg7MJMwFhbt5KcV3A+sLGl5SYOKpslz+J0kSZIkSXpIlx4B208CZ0qaYvvWFmpq1jBD0qHAbcACwGW2p0k6FXjA9mRJ6wM3AyOAHSWdYnuNKvQmSZIkSX+ju1kDe9u+BhgrafWOn7coNIDtW4BbOrSd2PT+fiJkkCRJkiTJXNJdjsCQ8jq0FUKSJOkbuqyAeFFUQOyq+FFWQEyS9qC70MAPy+sprZOTJEmrmNfqh1nvIEnmL7oLDZzX3S/a/kbvy0mSpDbkNMckaQu6Cw082DIVSZIkSZJUQnehgSubtyUtFs1+s89VJUlSW7LeQZLMX/Rk9cFxkqYSZYUfk/SopPX6XlqSJEmSJH1Nd6GBBpcBX7d9D4CkjYHLgU/3pbAkSZIkSfqenixDPLNhBADYvheY0XeSkiRJPmbChAmzZiokSdL79MQjcLekHwLXAgZ2A+6StC6A7Yf6UF+SJG1CV/UO2KH7z7uqd5DTHJOkZ/TEEFirvJ7UoX0dwjDYvFcVJUmSzA05zTFJ/iHmaAjY3qwVjlRoFQAAF+lJREFUQpIkSZIkaT3dFRTquPSwgenAvbb/2KeqkiRJ/kFaPc1xXkMRGcJIqqY7j0BnSw2PAY6TdLLt6/pGUpIkSX2Z51yGUc90/nsZwkgqpruCQp2uMSBpceA/gDQEkiRJ/kGyQFNSNT2ZPjgbtl8DujBdkyRJkjqT0zHrQZ2OQ09mDcyGpM2A1/tAS5IkSdJLdLn89PMvdft5Lj/dy/SDWS3dJQtOJRIEm1kceAn4Ul+KSpIkSfqGeV1+ut3p0rC6KAyrrvr16S66u04hoe48Ajt02Dbwqu23+1BPkiRJUkP6anbDPD9ga+K5mB8Mq+6SBf/USiFJkiRJDejCVX3Xgd1/3tuu7Hl9wOZ0zLlnrnMEkiRJkqRy+kHsvb+QhkCSJEky31Cn2Ht/Ya6nDyZJkiRJMv+QhkCSJEmStDFpCCRJkiRJG5OGQJIkSZK0MWkIJEmSJEkbU3tDQNK2kp6U9AdJx3by+UKSri+f/5ekMa1XmSRJkiT9k1obApIWAC4AtgPGAntIGttht68Cr9teCTgHOLO1KpMkSZKk/1JrQwDYAPiD7Wdsf0Asfbxzh312Bq4s728CtpCUqyMmSZIkSQ+ouyGwNPB80/YLpa3TfWzPAP4GLNESdUmSJEnSz2mbyoKSDgQObNquUE3RMK+/uFdrtafO3iV19i6ps3dJnb1Lf9BZd0PgRWB00/Yypa2zfV6QtCAwDHi14x+yPQmYBDBu3Dg/8MADfSI4SZIkSepIVwPguocG7gdWlrS8pEHA7sDkDvtMBr5c3k8E7rSdq0okSZIkSQ+otUfA9gxJhwK3AQsAl9meJulU4AHbk4FLgasl/QF4jTAWkiRJkiTpAbU2BABs3wLc0qHtxKb37wFfbLWuJEmSJJkfqHtoIEmSJEmSPiQNgSRJkiRpY9IQSJIkSZI2Jg2BJEmSJGlj1I4z7SS9Avypah3ASGB61SJ6QOrsXVJn75I6e5fU2bvUSedytpfs2NiWhkBdkPSA7XFV65gTqbN3SZ29S+rsXVJn79IfdGZoIEmSJEnamDQEkiRJkqSNSUOgWiZVLaCHpM7eJXX2Lqmzd0mdvUvtdWaOQJIkSZK0MekRSJIkSZI2Jg2BJEmSJGlj0hCoEepqseikV5DUL873/nIeZH/2Lv1IZ3857v1CZx3IHIEaIGk08DIwyPY7kuQaHxhJA4GPbM+sWkt3SJoALAnMsH1zaatd30raEBgCvG37N6VtgO2PqlU2O/2oP7cCViCup/Or1tMV/UjnBPrHcZ9AP9DZjKRhgG2/UaWOtJgqRtKOwM3A5cD3JG1g23UdHUj6HHADcI2k3avW0xWStgCuBNYEviZpsqQF69a3krYFrgImAkdLugbA9kd1GtH0o/7chLiWBgA7SrpJ0sp10gj9Smd/Oe79QmczkiYCNwL/LumrktasTEuNjaX5HklLA3cCBwCvAxsCXweOsH1X3axZSWsA1wPfABYBvgdcAlxj+7UqtXVE0rnAs7bPKds3Ax8CuzceslWPuMuD/irgDtuXS1oE+Dnwju0dyj61OAfq3p+NfpJ0PDDQ9kml/XxgUeBU289U3Z/9RWcDSecBf6zrcW9Q9/OzI+XefyvwZWAY8DngHeCXtv+z1XpqM+JoU/4K3A3cZ3uq7UnAvwLnSFq/DjeCDgwFXrR9p+2fA18CtgL2qlZWpzwADC8PV2x/HliI8L5Qh5tC0fAIoLL9ju3NgcGSrihtdTkH7geG1bg/B5XX3wGjJS0LYPsw4G3grLJddX8OKa/3U2+dDWp/HRX6i84GCxPHe4rtu4ALCUNgG0mrtVpMGgIVUUaD7wPLAuc22m1fDfwI2EXSoDq5h4H/Bp6XNEHSQNuPACcCB0v6YsXakDRG0hBJQ4gH7GeBdRqf294ZWEjSllVpBJA0tmnzOeB/S1q5qW0iMKRKVyGApA0kLVE2nwU2oZ79uRmwv6SFCZ0DgQ0kLQpg+xDiIfHl6lTOcl9fJemTwDPUV+caklaUtBRhWNX1OhrZtPkYoXO9RkNddHaG7T8Qmo+RNNj2U0SYYHFgg1brqdNDpi0occBBtj+yPQPYFVhf0ulNu90PLG37g6otWUlrSdpY0mq2/wY8BewJrCRpIdsPAycAW1Ssczsid+Fc4GTbU4FrgQslbSJpaNn1j8DgimQ2jIB7JV0NYPsG4GrgbkmrlLa/AjOAxSrUuQ3Rn40R673Ejapu/bkt0X9P2n633FBvBr4KbCdp+bLrb4DKkltLf14C/BPwCdu/ByYD+wHb1kjntsRxPgY4n7jer6N+x30H4HJJF0o6iFhN9nzggjrpbEbSVpIOknREabqOePDvLWlh208CPwG+1PBstIoFW/ll7Y6knYCLgF9KOsT2e7bfkLQbcKOkxYkLcCywgqQRtl+vUO+OwKnEKOsNST+2fVaJZx5O3HBvA5Yg3MaVxOEkbQ78C5Ff8RGRLDTM9iRJrwMnAQ9L+gjYGjin1RqbmA7cBSwpabLtnWx/T9J7wE8lXQgMB9YCXqpCYBm5/iuwn+2HJS1SwhYXl/48EXikyv6UJCIcMBE4zPZ/lOtHwC+A54FDgS9Img7sCGzTap1F6w7EOfhFIpT2Q2BD2zdKmlG07SLptYp1rgT8ADgIeAI4BVjU9g8lvURNriNJq5fv3pOIr28BXArsT5ybJxadrlJnM/o4OfR0YHtJ6xM5VtOANYBjJZ0GjCBCBC29j2ayYAsoN63FiUSwnxOx9sWBw22/V/YZClwD/JlIGtzH9pRqFEM5Ua8AdrU9TdIhwNjivkTSMcDywCrE/7JvCRVUofUY4MHyMBgF3APcDrxY/odBxIN1HHCV7f+uSOcAIm55NuG5OJYYrfyAcBVvAIwB1gXOsz2tAo0ijNXRtreXtFzRORB4nLiZfRJYjejPq6vqz6L3NOBe4FHgp8SNdTyRhHU/cS2tC/yiuGNbrU/AxcANtu+QNAj4t7J9Y9lneWAU0Z+V6Cw6xgLftr1PSWb7L+BXxJS8o4C3isaqr6PxwKG29yjbexIeoOlE4vWKxHVU+fnZQNJxxDTRRnLoBYRH/lxgJHG+rkrkkBxg+6GW6ktDoHUUS3Y6ceAPJTwyR9p+p3zeCNUsVtzDlSFpHWBCUxbuKMJVvLftZ0vbwsTJ+xfbL1eotZGJPZSYQvRbwsW6PvFw3d/221Xp64ikE4DHbf9Y0p3AxsB2tu+oWBoAkgYTo9YBhHfqSiKxaQwRsvhu1SGrBsUIXA6YCswsXqAvAOcBm9h+plKBzHZ+Lkj06fHAYNvfqljabEhaiOjHBwnPxVnErJb/RTxgd7b9P9UpDIrn5zbgetvfL2HVD4EFgF/ZvrNSgZ2gqBmxBxG2fK60XQQMs71n2R4NvFnFvT9zBFpAGRVg+wnbr9h+Avi/xE218aBdG1im5A5UagQAlNj/JTCrgNA7RHLjW6VthRKTfaRKIwA+zrC2/RbwLdtnl5j27UQff1ClvgZNht5LwIhiGC5PjGgPq0xYE5IWKF6qgwj35DW2z7N9KTFCXKkuRkDhPCKR7WhgCoDtHxOet1rMH2+aATDT9geEl2ofSbtUp2p2SljvfeDTRDjwGttn2f4zkWvzFDXoz2JUvQYcSfTh9cB6tk8GXgV2rlJfNzzH3yeHfg34hKSvlO3nq7r3pyHQArqYCvQUcAHwqqRHiBvXjJYKmwO23yxvZwBvEKPCN4sr7nRJIyoT14HGQ9b205IWKM1rEC7XIV3+Yt/pUfNr0dZ4gN4K7E14LY5wTBl8RdIyVeu0PVNRiOU94CvA+U39uSiwaFMiVqUUne8SMeLpwEGKbPd9ifDAu1Xq60iTwfoM8B3gM61OCusKx1z7BUve0hPAKElnl493Iq6llhsCnZyfjT68F/hn4JCiD+J4v9V8zVWFpB0lHdXYLomAN9N5cmjlA5VMFuwjJK1KxM4foJTjLRfajDLqmgk8XpKFliBcw5Ukh3WkkfTXcGkWt6YIQ+ACIua6TxWJjMV99heiGMvbxd36UdE7qvShJX2TSCb6ckVW9ieKzgWBD8vD1MUYGERkB59g+56y/8GupmRzZzobBssI29MBJB1GxDH3LZ6XltLVcS8fzyDCK2cUjRsBu1VxPc3h/Fza9otl178QiY6VPLS6689i6B1BzGRZlYi571q8A62m4/k5qz+BRZrOz4OIBObduhh4tYySX3U1sGC5l34fwPZPSqLlTtQgOXQ2bOdPL/8AuxBz7u8gYmyHEzdViHmuOxFJY6OJhKZPV6z3M8CmwPpNbYPK65rAOuX9fxIzCFauSOf2xNzbSUS+wqpNn40nQgErEA/ai4BPVaRzB8LSn0RkBo9p+mxjIuSyUtkWJVenZjrHE0ltowmPypXAmjU97r8i8m4GlLahNdV5e+O4l7YRNdV5B5G9PphICv1Ejc/PpYncgOOB1avQ2YXurYmpt08Ax3T4fMVyHzii+XyoVHPVAua3HyIOdD0wvmxPJJJuTiFcmH8ikvAa+y9Wsd7tgN+Xi+1m4NKmzzYjCoo0/pfPAWtVoFHlgTQVmEDMxT6aWKhpzbLPo8AONTj+KxIzACYQBXiOI2LrqxIGyp+BHfuBzpeb+7PxkK3zcefj5OeWG1blgfRYD3UOqFDnUsTMiq50Tukn19HLddDZhfYBwJLl/aqEMfDtps8rved3qrlqAfPbD2EI3Eq4UBsnxWcJi/YMYKtGe3mtZDRYvnsBoqjFPmV7MeDXwE/K9jnA55v1Vqx1UrnhNm74hwMvENPZhjX6s+I+HQ5c3KwF+BZwHzHKWqrq416+fxjF6JuTzhponUTkenR73CvUtzDh4buo5jpHEXketdZZvn84cEFDS53Pz27+h8Y9fvViDBwA7F76f6E66c5kwV7G9ofEvPBdJG3iiGX9mggV/JPt2xu7lv0ri2c5YtIPN22/YXs8kcl6lu0jbd9c8gMq0SlppRJzG048vPZq9Jntc4mchTOI+OGsnIYKdK4haVNilLWupKObtHyfcAt/HZhe4oZV9efGkvYmkj9XkXTsnHRW1J87SjqyzFhZjDCsuz3urdZYdO5M9NsoIidov5rq3IbISxlDLBj21Zrq/GdJ+xD1HzaSdFQdz8+e4I/zrJ4gpjGfD/wf4ELb79dKd9WWyPz4Q8TWDiVGMp9tar8TWLsG+lZper834dJctqltJHHTqCTG3qRjB8JVeTcx3XInIkeh2c02hpjzXuVIa7uiczJR4Wxzwv16aNM+2xA3gKo0DiAKWU0DniTCPEsRbvfD66KzaNiaWCtim6Zj/BxNsdaaHPdNCQO/oXNZIvR3VM10NvrzOaLq3oiis279uVO5jq4p1/vO5d709aZ9Kj8/O2geTYQqhpTtBfnYE7B0037jibDg2Ko1d/aTswb6ANvvSfo3YhT9bcVqUu8To8VK59wryp3eoChvu7vta0pm8K8ljbf9nO3pkj4gRg5V6dyIqMC3p6PM7STCqt4I+G3Jbr+OSLpZj/AYVDGLYQJRHWxv27+T9DPgTWAfomz0AGIksBSwaplD/JbL3aFVODxTb0m6kqhlvyvxQNgcuE/SDNsXVK2zHPeriTyK3ykWlnmBMFx+IelDYqrtRlR43AvrAZfYvk2xiuBQImntQkXJ6DuIkW2V5+eWxMp2OxO5QL8kkuy2AO4qHpc6XEdLEFMB97T9mKSriOmAhwFXlhmBF1Hx+dlB8/bAmUS4YrikExzTBBvVD0+WdDCR6zAM2NgVVY2cE1lZsA9RlBMdTxRneQ8411Gopyo9Q4AfE6P9jYCF/HGZzu8SFvmFhEdgL2B723+sSOtGhOfiirK9JHCFo+ztCsQN9z1ixsO+jkWGqtC5OvBJ279SrCr3EDFl9DEifjmBGHVvQkzBqkRngzK3eVngZ0TMchpRkGcksUDLBlSosxildxAPhXuBm4jpgdMIA2sFIqwxDvhKlf0p6RvE7JrvS7qPKBT1NHGs/4cYdW9Upc4SEnjT9n2ShgPfBZ6yfb6kFYnr6H3CCKhS5zDinDyPcP8/QpS0fpyoHLkiMcNqUyq+jkqodBngFsJQeYIw/L8JbG17qqRHgeMcy7XXn6pdEu3wQyS6VZps16RlFDFyGUncZK9t+uzzwNeI6W1VhwUWoGTXlvfLEPkMjSSh5Qg33LCq+7RJ83HA8eX9/sRNbWUiVDSyan1F14rAseX9N4nSrCeV7UF10EmsC/EM4Qk4gAhrHEjEsUeXfSqZetdB55pEmOU6IjcAYu2NM4hyvLXQWXQ03NXbEi7qxpTgweV1eA00TiTKG/8WOLG0bU3Mutq4XEdLVq2z6OoXycs9/clkwRZge6ZrUpbV9ku233IU4jgIGCTp2vLxU8Attve3/Vh1Kmf12RtlU8Bfgddsv1yS3b5DFEP5W2UiO2D7dNunlfeXEA+FxRzV2qZXq24W7xKu1QOAg4HTiLKnBzuWva5cp+1HifyQf7H9I0fZ7UnASsQCOBDnQ6U4RqVHE16p5UvbU0QRnGFlt8p1wsdVLW3/kniAbVfCazNKe+U6bd8EbEksGvZQaft3wpheolxHr1QosbGM/PpE2HQEMNHlie8aJS/PLZkj0MbYfrVU5Dpb0pOElTuhWlV/j+0ZRHz7eUlnEKOEfR3lZWtBx0xrxcI3SxIrINYG2y9Jeh44ATjE9s8kbQbUKnZpu+EWBmb150hKf9bo5norsTzvyZL+VNrWIqYL10lnM48StfrPLNdWbbD9umIhrl1LntJgwvv3aLXKQNLniHowzxDeyeeAUyV9aPvCstu1wLeBd2t67DslDYE2x5EYOIXIfN/K9gtVa+pIickNJGKvA4EtbP++WlWz07joFSu47U0s27qbqynLOid+BPzU9oNl++66eKw6Uo79fsTI+4u2/1KxpNkoD9KrJD1GuLYXIsIET1errGscq17uRmS8P1uxnM74DeEFOI7IA9rPZcXTqijJjAcBe9h+XNKBRF7FZOAMxUqsk4mcsKqTWOeaTBZscxQLB90AfNP2lKr1dIdiMZn7bU+rWktXlCzsrYCnXTKI60qV88V7SjEENgX+7BqsK9/f6Q/HvEGZGaCmEGGVWoYRs1VOclnmWNL/I4yWBYkk1o+Atak4iXVeSEMgQdJgx2pztaY/3cSSJJm/KFMBNwZuI9ZgGENMHVze9tFln+F1yLeYWzI0kNAfjACobbw1SZL24FpiCusWwF9t7wUg6ZaGAdAfjQBIj0CSJEmS9JhS2rixZPOXiNk3W9l+u1pl8056BJIkSZKkhzQZAV8hklh3689GAKRHIEmSJEnmGknLEbVMajX1dl5IQyBJkiRJ2pisLJgkSZIkbUwaAkmSJEnSxqQhkCRJkiRtTBoCSZIkSdLGpCGQJMlsSJop6RFJj0m6UdIiFWiYIGmjpu2Dy5xtJF0haWKrNSXJ/EoaAkmSdORd22vb/hTwAVEwZY5I6s26JBOAWYaA7YttX9WLfz9JkkIaAkmSdMc9wEqShki6TNLvJD0saWeIhaAkTS5Lx94haaikyyVNlTSlLB+MpK0l/UbSQ8XLMLS0PyvplNI+VdJqksYQxseRxTOxiaSTJR3dUZyk9STdLelBSbdJWqpVHZMk8wtpCCRJ0illhL8dMJVYEvZO2xsAmwFnSxpSdl0XmGh7U+AE4G+217T9aeBOSSOB44Etba8LPEAs09xgemm/CDi6LDl7MXBO8Uzc04W+gcD55bvXAy4DTu/FLkiStiBLDCdJ0pGFJT1S3t8DXEqssrZT06h8MLBseX+77dfK+y2B3Rt/yPbrknYAxgK/jlWFGUQs39rgJ+X1QWCXudC5KvAp4PbydxcAXp6L30+ShDQEkiT5e961vXZzg+JJ+wXbT3Zo/wwwpzrrIoyFPbr4/P3yOpO5uycJmGZ7w7n4nSRJOpChgSRJesJtwGHFIEDSOl3sdztwSGND0gjgt8B4SSuVtiGSVpnD970JLDqHfZ4ElpS0Yfm7AyWtMcf/JEmS2UhDIEmSnvBdYCAwRdK0st0ZpwEjytTDR4HNbL8C7AtcK2kKERZYbQ7f9zPg841kwc52sP0BMBE4s3zXIzTNNEiSpGfkokNJkiRJ0sakRyBJkiRJ2pg0BJIkSZKkjUlDIEmSJEnamDQEkiRJkqSNSUMgSZIkSdqYNASSJEmSpI1JQyBJkiRJ2pg0BJIkSZKkjfn/pf4dEmjN7OQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 576x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# bar plot\n",
    "plot_uplift_by_percentile(y_val, uplift_ct, trmnt_val, strategy='overall', kind='bar');"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🚀  `Qini curve` \n",
    "\n",
    "The curve plots the absolute incremental outcome of the treated group compared to group with no treatment. \n",
    "\n",
    "\n",
    "plot Qini curve: \n",
    "- `blue line` is a `real Qini curve` based on data.\n",
    "- `red line` is an `ideal Qini curve` based on data. Code: `perfect=True`\n",
    "- `grey line` is a `random Qini curve` based on data\n",
    "    \n",
    "\n",
    "## 🚀 `AUQC` (`area under Qini curve` or `Qini coefficient`)\n",
    "\n",
    "`Qini coefficient` = `light blue area between the real Qini curve and the random Qini curve normalized on area between the random and the ideal line`\n",
    "\n",
    "<img src=\"https://habrastorage.org/getpro/habr/upload_files/18a/f90/b30/18af90b30dbdff84e1b3a8ab77195101.png\" width=\"400\" alt=\"qini_curve\">\n",
    "\n",
    "\n",
    "- metric is printed at the title of the Qini curve plot\n",
    "- can be called as a separate function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:13.035790Z",
     "start_time": "2021-02-18T19:37:12.272926Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklift.viz import plot_qini_curve\n",
    "\n",
    "# with ideal Qini curve (red line)\n",
    "# perfect=True\n",
    "plot_qini_curve(y_val, uplift_ct, trmnt_val, perfect=True);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:17.212317Z",
     "start_time": "2021-02-18T19:37:16.455878Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# no ideal Qini curve\n",
    "# only real Qini curve\n",
    "# perfect=False\n",
    "plot_qini_curve(y_val, uplift_ct, trmnt_val, perfect=False);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:20.543940Z",
     "start_time": "2021-02-18T19:37:20.415593Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Qini coefficient on full data: 0.0695\n"
     ]
    }
   ],
   "source": [
    "from sklift.metrics import qini_auc_score\n",
    "\n",
    "# AUQC = area under Qini curve = Qini coefficient\n",
    "auqc = qini_auc_score(y_val, uplift_ct, trmnt_val) \n",
    "print(f\"Qini coefficient on full data: {auqc:.4f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 🚀 `Uplift curve` \n",
    "\n",
    "The Uplift curve plots incremental uplift.\n",
    "\n",
    "\n",
    "   - `blue line` is a `real Uplift curve` based on data. \n",
    "   - `red line` is an `ideal Uplift curve` based on data. Code: `perfect=True`\n",
    "   - `grey line` is a `random Uplift curve` based on data.\n",
    "    \n",
    "\n",
    "## 🚀 `AUUQ` (`area under uplift curve`)\n",
    "\n",
    "- `Area under uplift curve` = blue area between the real Uplift curve and the random Uplift curve \n",
    "    - appears at the title of the Uplift curve plot\n",
    "    - can be called as a separate function\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:23.685370Z",
     "start_time": "2021-02-18T19:37:22.944633Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgEAAAGSCAYAAAB6/BIRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd5xU1f3/8deHjtIFUQGDBTtLWwGJBRsgoti/2EBBRZFojAlfNfFHNMbyTSxRBhRBRVHsxoKIiKJgw6UIKDGgomIDqSIdPr8/zt04ki2zsLN3Zuf9fDzuY+ecuXPnM4jsZ84953PM3REREZHcUyXuAERERCQeSgJERERylJIAERGRHKUkQEREJEcpCRAREclRSgJERERylJIAESmRmT1kZjdFj48ws0+SntvfzGab2Y9mdkV8UYrI9lASIFLJmZmb2b7b9P3ZzMaW9VruPtXd90/qGgK84e513f1uM1tkZsftaMwiUjGUBIjIjvgV8FFFv6mZVavo9xSpjJQEiOQ4M+tqZovN7Doz+yH6Nn9uSedGj18HjgaGmdkaMxsH7Am8GLWHFHON3tEthNVm9qmZ9Yj6fzGKkDxaYWYtoxGNAWb2JfC6mU0ws8HbXPtDMzstenyAmU0ys+Vm9omZnbXDf1gilYySABEB2A1oDDQD+gEjzWz/kl7g7scAU4HB7l7H3c8GvgROitr/t+1rzKwj8DDwB6ABcCSwqAxxHgUcCHQHxgFnJ137IMLIxHgz2xmYBDwG7Ar0AYZH54hIREmAiBS63t03uPubwHggHd+cBwAPuPskd9/q7l+7+7/K8Po/u/tP7r4OeA5oa2a/ip47F3jW3TcAvYBF7v6gu29291nAM8CZ5flhRLKdkgCRym8LUH2bvurApqT2Cnf/Kan9BbBHGmJpAXy6A6//qvCBu/9ISFb6RF1nA49Gj38FdDKzlYUHIUnYbQfeW6TSURIgUvl9CbTcpm8vwi/6Qg2jIfRCewLfbMd7lbYt6VfAPsU89xOwU1K7qF/Y215/HHC2mR0G1ALeSHqfN929QdJRx90vKyU+kZyiJECk8nsC+JOZNTezKtHku5OAp7c57wYzq2FmRxCG05/ajvf6Hti7hOdHAxea2bFRLM3M7IDoudlAHzOrbmb5wBkpvN/LhG/9NwJPuPvWqP8lYD8zOz+6XnUzO9TMDtyOzyRSaSkJEKn8bgTeAaYBK4D/A85193lJ53wXPfcNYUj90jLeqy90CyHhWGlmv9/2SXefDlwI3AmsAt4k/BIHuJ4wSrACuIEwqa9E0f3/Z4Hjks+PbhV0I9wq+Cb6fLcBNbfjM4lUWuZe2uidiFRmZtYVGOvuzeOORUQqlkYCREREcpSSABERkRyl2wEiIiI5SiMBIiIiOUpJgEjMtFWviMRFSYBIBtFWvekX1Sj4l5mtNbM3ksoOF3Vuy+ictdFrivyzN7PJ0QZH1aL2rmY2zsy+MbNVZva2mXVKOv9EM5sWLaX8zsxGmVnd8v+0IiVTEiCS2WLZqjfTlNfWwWbWmFBX4HqgEVBAKKZUnHHALGAX4I/A02bWZJtrnst/l2WuA3wAdIjeZwxhY6M60fP1gZsIpZkPJGzc9Lft/mAi28vddejQsYMHoZztvknth4CbosddgcXAdcAPhF3zzi3p3Ojx64S6/+uBNYRfSFuBdVF7SCkxPUUokrMKeAs4OOm5KcBFSe0LgGlJ7YMJu/AtJ1QBvK6U9+pI+IW6Ojr/jqTnDicUK1pJKOd7QdRfn7Cj4FJCCeM/AVWS4nmbUFRoGeEXZk3g74QyyN8D9wK1y/jf6RLgnaT2ztGf5wFFnLsfsAGom9Q3lVBIiaTP8G+gc/R3oFoJ770a6FDMc6cBc+P+e6wj9w6NBIhUjArZqncbE4BWhK10Z/Lz5jolioalXwNeIXxT3ReYXMrL/gH8w93rEar+PRld61dRHPcATYC2hPLARH31CWWGjwL6EqoJFuoEfAY0Bf4K3Er4xdw2iqkZ8P+i99kzebOgIo5zomseDHxY+AYeNk36NOrf1sHAZx6qDxb6cJtzbwZGEJKtYplZW6AGsLCYU45EIz4Sg3IZYhORlFzvocztm2ZWuFXvX9L1Zu7+QOFjM/szsMLM6rv7qlJe2gv4zt1vj9rrgfdLec0mYF8za+zuPwDvRf3nAK+5+7iovQxYZmZVCSV920a/ZH80s9uB8wn7CwB84+73RPFvIXyLz3P35VHfzYRSwde6+5dAg1JihDBMv3SbvlVAUffj60TPbXtus+j984FfA1cCxVZbNLN6wCPADUX92ZvZ8YTEsNO2z4mkm0YCRCpGRW3VC4CZVTWzW83sUzNbTbgFAWE0ojTbs93vAMK39H+Z2Qdm1quUazUm3EdP3snwC6JfsJGvkh43IewwOCNpa+BXov6yWAPU26avHvBjWc41syrAcOBKd99c3JuZWW3gReA9d7+liOc7ExKZM9z93yl/CpFyoiRApHyspeRtcCtqq95C5wC9CRvr1OfnrYQt+lnStr1fUfJOgP8dlPuC6HbFroSNep6OPm9xWwf/QBg9SJ6ZvyfwdfJltzl/HWFeQ+HWwPXdvQ7853bAmhKOc6PrfAS0KbxoFOM+FD0U/xGw9zaz9ttE/fWAfOAJM/uOMAkQYHG0CyNmVhP4J2E+yMBtL25m7YAXgP7uXtrtFpG0UBIgUj5mA+dE38B7EO5xb6situotVJcwqW0Z4Zf9zUXEe5qZ7WRm+xK+yRd6CdjdzH5rZjXNrG7y8raimNl5ZtbEw1a+K6PurYR5CMeZ2VlmVs3MdjGztu6+hTBv4K/R9X8F/A4YW9T1o+veD9xpZrtG79nMzLpHz38ZzZMo7iicD/EccIiZnW5mtQhzCuZ4ETsmRt/MZwNDzayWmZ0K5AHPEG4L7EGYn9AW6Bm9rAPwvplVJ2zVvA7o5z9vcVz453UIYSTjN+7+Ykl/tiLppCRApHxcCZxE+AV4LuEbYLIK2ao3ycOE4fWvgY/5+R59oTuBjYSkYgxJkwaje/THR5/nO2ABcHQpcfUAPjKzNYRJgn3cfV10r74ncDVhpcFsfv4m/hvCiMRnhG2OHwMe2PbCSf6XMLHuvegWx2tAiZMrt+XuS4HTCRMNVxDuw/cpfN7M7jWze5Ne0ofwjX8FYWLiGe6+1IPvCg9+nmfwvbtvBLoQEr1uwMqkEYkjovOuJtzKGJ30nCYGSoXT3gEiaWbaqldEMpRGAkRERHKUkgCRLGVm5xYzCS4tw8pmNqGY97suHe8nIumn2wEiIiI5SiMBIiIiOUpJgIiISI7KubLBjRs39pYtW8YdhoiISIWYMWPGD+5eZHXNnEsCWrZsSUFBQdxhiIiIVAgz+6K453Q7QEREJEcpCRAREclRSgJERERylJIAERGRHKUkQEREJEcpCRAREclRSgJERERylJIAERGRHKUkQEREJEcpCRAREclRSgJERERylJIAkVStXg2ffx53FCIi5UZJgEiqLrwQWrWCG2+EzZvjjkZEZIcpCRBJxZdfwj//CS1awNChcNRRGhUQkaynJEAkFffeG36++SaMHQvz5kGbNuGxe7yxiYhsJyUBIqVZvx7uvx9OPhn23BPOPRc+/DAkAeefH9orV8YdpYhImSkJECnNU0/BDz/A5Zf/3NeyJUyZAjfdBE8+GRKCt96KK0IRke2iJECkNIkE7L8/HHvsL/urVoU//hHefhuqV4euXUN706ZYwhQRKSslASIlKSiA998PowBmRZ/TqRPMnh1WD9x8M/z617BgQcXGKSKyHZQEiJQkkYCdd4a+fUs+r04dGD0ann4aFi6Etm1DW5MGRSSDKQkQKc6yZfD442HyX/36qb3m9NNhzhzo3BkuugjOOCNcR0QkAykJECnOAw+ElQHJEwJT0bw5TJoEf/sbvPgi5OXBa6+lJ0YRkR2gJECkKFu2wPDhoSjQIYeU/fVVqsDvfx/mE9SrB8cfH9obNpR/rCIi20lJgEhRJkyARYvKPgqwrXbtYMYMuOwyuP32MInw44/LJUQRkR2V1iTAzBqY2dNm9i8zm29mh5lZIzObZGYLop8No3PNzO42s4VmNsfM2iddp190/gIz65fU38HM5kavudusuOnbImWUSMAee8App+z4tXbaKYwqvPACfPMNdOgQ2po0KCIxS/dIwD+AV9z9AKANMB+4Bpjs7q2AyVEb4ASgVXRcAowAMLNGwFCgE9ARGFqYOETnXJz0uh5p/jySCxYsgFdegYEDw/r/8nLSSWHSYNeuYYThpJPg++/L7/oiImWUtiTAzOoDRwKjAdx9o7uvBHoDY6LTxgCFX7V6Aw978B7QwMx2B7oDk9x9ubuvACYBPaLn6rn7e+7uwMNJ1xLZfiNGQLVqcPHF5X/t3XaDl1+Gu+8OkwXz8kJbRCQG6RwJ2AtYCjxoZrPMbJSZ7Qw0dfdvo3O+A5pGj5sBXyW9fnHUV1L/4iL6/4uZXWJmBWZWsHTp0h38WFKprV0LDz4Ylvrtvnt63sMMfvObUIioaVM48cTQXrcuPe8nIlKMdCYB1YD2wAh3bwf8xM9D/wBE3+DTfmPU3Ue6e7675zdp0iTdbyfZ7LHHwmZAgwen/70OOQSmT4erroJhwyA/P2xMJCJSQdKZBCwGFrv7+1H7aUJS8H00lE/0c0n0/NdAi6TXN4/6SupvXkS/yPZxD7+M8/JC6d+KUKsW3HEHTJwIy5dDx46hvXVrxby/iOS0tCUB7v4d8JWZ7R91HQt8DLwAFM7w7wc8Hz1+AegbrRLoDKyKbhtMBLqZWcNoQmA3YGL03Goz6xytCuibdC2RsnvnnfBNvKR9AtKlWzeYOxdOOAGuvhq6dw8rCURE0ijdqwN+AzxqZnOAtsDNwK3A8Wa2ADguagO8DHwGLATuBwYBuPty4C/AB9FxY9RHdM6o6DWfAhPS/HmkMkskQnngc8+N5/0bN4bnnoP77gsJSevWoS0ikibmObZWOT8/3wsKCuIOQzLNd9/BnnuGUYA774w7Gvjkk5CMzJgR9iC4886wSZGISBmZ2Qx3zy/qOVUMFAG4/37YtAkGDYo7kmD//cNowDXXhN0I27eHDz6IOyoRqWSUBIhs2hSG4Lt1g1at4o7mZzVqwC23wOuvh+WDXbqE9pYtcUcmIpWEkgCR55+Hr7+umGWB26Nr11Bp8NRT4brr4Jhj4Msv445KRCoBJQEiiQT86lfQs2fckRSvYUN44gl46CGYOTMsY3ziibijEpEspyRActtHH8GUKWGXv6pV446mZGbQrx/Mng0HHgh9+kDfvrB6ddyRiUiWUhIguW34cKhZEwYMiDuS1O2zD0ydCkOHwqOPQtu2YRKhiEgZKQmQ3LV6NTz8cPhG3bhx3NGUTbVq8Oc/h2TAHY44IrQ3b447MhHJIkoCJHc9/DCsWRNqA2SrLl1ClcPzzoMbbgjJwGefxR2ViGQJJQGSm9zDhMBDDw1HNqtXD8aMgXHjYP58aNMmJDg5VghMRMpOSYDkptdfh3/9K3OXBW6PPn3CUsL27cMEwj59YMWKuKMSkQymJEByUyIR5gGcdVbckZSvPfcMCc7NN8Ozz4alhFOmxB2ViGQoJQGSe778MhQIGjAgbOVb2VStCtdeC+++C7Vrh+JC114LGzfGHZmIZBglAZJ77rsv/Lz00njjSLf8/FBY6KKL4NZb4bDDwsZEIiIRJQGSWzZsCJsF9eoFLVvGHU361akDI0eGWwOLFoX5Avffr0mDIgIoCZBc8/TTsHRpdi8L3B6nngpz54YlhZdcEto//BB3VCISMyUBklsSCdhvPzjuuLgjqXh77AETJ8Idd8CECdC6Nbz6atxRiUiMlARI7pg5M0yWGzQIquToX/0qVeCqq2D6dGjUCLp3D+316+OOTERikKP/EkpOSiRgp53CGvpc16YNFBSEOgl33QUdO8K8eXFHJSIVTEmA5Ibly+Gxx0J53QYN4o4mM9SuDffcA+PHw/ffh9UE99yjSYMiOURJgOSGBx4IQ965NiEwFT17hkqDxx4LV1wR2t99F3dUIlIBlARI5bd1K4wYETbXycuLO5rM1LQpvPRSuGUyZUr4c3rppbijEpE0UxIgld8rr4Sd9TQKUDKzMGlyxoywkuCkk0J77dq4IxORNFESIJXfsGGw++5hbbyU7qCD4P334eqrwwhKhw4wa1bcUYlIGigJkMrt00/DSMAll0CNGnFHkz1q1oS//x0mTYJVq6BTp9DeujXuyESkHCkJkMptxIiwoc4ll8QdSXY67rhQabBXL/jDH+D44+Hrr+OOSkTKiZIAqbzWrg2rAk47Ldzjlu2zyy7wzDMwahS8916oNPjMM3FHJSLlQEmAVF7jxsGKFZoQWB7MwtbLs2bBPvvAGWeE9po1cUcmIjtASYBUTu5hudshh4SlgVI+9tsP3nkHrrsOHnwQ2rULJYhFJCspCZDK6b33wrfWyy8P32Kl/FSvDn/9a6gnsHFj2Jnwr3+FLVvijkxEykhJgFROw4ZBvXqhTLCkx5FHwocfwplnwp/+BF27whdfxB2ViJSBkgCpfL7/Hp56Ci64AOrUiTuayq1Bg7AnwyOPhIQgLy+0RSQrKAmQymfUKNi0KVS7k/QzCyMuH34Y5mCce25or1oVd2QiUgolAVK5bN4M994b1rPvv3/c0eSWvfaCN9+EG2+Exx8P2xVPmxZ3VCJSAiUBUrm88AIsXqxlgXGpVg2uvz788q9aFY46KrQ3bYo7MhEpgpIAqVwSCdhzz1DhTuLTuTPMng19+8JNN8Hhh8PChXFHJSLbUBIglcf8+fD663DZZeFbqMSrbt1QS+DJJ+Hf/4a2bUPbPe7IRCSiJEAqj0QibBI0YEDckUiyM8+EOXPg0EOhf3846yxYvjzuqEQEJQFSWfz4Izz8MPzP/0CTJnFHI9tq0QJeew1uuw3++c+wlPD11+OOSiTnpTUJMLNFZjbXzGabWUHU18jMJpnZguhnw6jfzOxuM1toZnPMrH3SdfpF5y8ws35J/R2i6y+MXqvScLnqkUdCIqAJgZmralUYMiRUc6xTJ+xQOGRIqDooIrGoiJGAo929rbvnR+1rgMnu3gqYHLUBTgBaRcclwAgISQMwFOgEdASGFiYO0TkXJ72uR/o/jmQc91AhMD8fOnaMOxopTYcOMGNG2N75b38Lkwjnz487KpGcFMftgN7AmOjxGOCUpP6HPXgPaGBmuwPdgUnuvtzdVwCTgB7Rc/Xc/T13d+DhpGtJLpkyJfwS0T4B2WPnnUM9h3/+E776KiQG996rSYMiFSzdSYADr5rZDDO7JOpr6u7fRo+/A5pGj5sBXyW9dnHUV1L/4iL6/4uZXWJmBWZWsHTp0h35PJKJEglo1CjMB5Ds0rt3mDR4xBFhVUfv3qD/R0UqTLqTgMPdvT1hqP9yMzsy+cnoG3zaU393H+nu+e6e30STxiqXxYvDt8mLLoLateOORrbH7rvDhAlw113w6qvQujW88krcUYnkhLQmAe7+dfRzCfAc4Z7+99FQPtHPJdHpXwMtkl7ePOorqb95Ef2SS+67D7ZuhUsvjTsS2RFVqsCVV8IHH4TVHSecENrr18cdmUillrYkwMx2NrO6hY+BbsA84AWgcIZ/P+D56PELQN9olUBnYFV022Ai0M3MGkYTArsBE6PnVptZ52hVQN+ka0ku2LgR7r8fTjwx1K2X7Ne6NUyfDldcAXffHWoLzJ0bd1QilVY6RwKaAtPM7ENgOjDe3V8BbgWON7MFwHFRG+Bl4DNgIXA/MAjA3ZcDfwE+iI4boz6ic0ZFr/kUmJDGzyOZ5plnwrbBWhZYudSuDf/4R7hFsHRpSAT+8Y8w4iMi5co8x2bj5ufne0FBQdxhSHn49a9hyRL45JMwnCyVz9KloQLkiy9Ct27w0ENhDoGIpMzMZiQt0/8F/csp2Wn2bHjnHRg0SAlAZdakCTz/PIwYAVOnhtsFz+uun0h50b+ekp0SiTBsfMEFcUci6WYWJn7OnBl2iDzllND+6ae4IxPJekoCJPusWAGPPgrnnQcNG5Z+vlQOBxwQSg4PGQIjR/5ceVBEtpuSAMk+Dz4I69ZpQmAuqlEjbEL02muwZk0oOXzbbbBlS9yRiWQlJQGSXbZuheHDw6TANm3ijkbicswxodJg795wzTVhM6Kvvir9dSLyC0oCJLu8+ip8+ikMHhx3JBK3Ro3gqafggQdCkaG8vNAWkZQpCZDsMmwYNG0Kp50WdySSCczgwgvDapH99oOzzgqTRX/8Me7IRLKCkgDJHp9/Di+/HLagrVEj7mgkk+y7L0ybBtdfD488Am3bhkmEIlIiJQGSPUaMCDUBBg6MOxLJRNWrw403wptvhomChx8e2ps3xx2ZSMZSEiDZYd06GD0aTj0VmhW5Y7RIcPjh8OGH0KcPDB0KRx0VRpFE5L8oCZDs8PjjsHy5lgVKaurXh7FjQz2JefPCSpKxYyHHyqSLlEZJgGQ+9zAh8OCDw7c6kVSdc04YFWjTBs4/P7RXrow7KpGMoSRAMt/774eSsZdfHmaDi5RFy5YwZQrcdFNYQtimDbz1VtxRiWQEJQGS+RIJqFs3lAkW2R5Vq8If/xg2napeHbp2De1Nm+KOTCRWSgIksy1ZAk8+Cf36hURAZEd07BhqCvTvDzffDF26wIIFcUclEhslAZLZRo+GjRs1IVDKT506MGoUPP10qD7Ztm34e6ZJg5KDlARI5tq8OdQGOPbYsIOcSHk6/fSw/0DnznDRRaG9bFncUYlUKCUBkrleeilsCqNRAEmX5s1h0iT429/C37e8vLBDoUiOUBIgmSuRgBYt4KST4o5EKrMqVeD3vw+rUOrVg+OPD+0NG+KOTCTtlARIZvrXv8I3sksvhWrV4o5GckG7djBjBgwaBLffDp06wccfxx2VSFopCZDMNHx42CTooovijkRyyU47hRGoF1+Eb76BDh3C30VNGpRKqtivWGY2Fyjqb74B7u55aYtKctuPP8KYMXDmmbDrrnFHI7moV68wafDCC8OclJdfDisImjaNOzKRclXSOGuvCotCJNnYsbB6NQweHHckkst22y388k8kwhyBvDx48EHo2TPuyETKTbG3A9z9i8IDWA+0jo51UZ9I+XMP/+i2bx/uyYrEySwkowUFYRTgxBNDe926uCMTKRelzgkws7OA6cCZwFnA+2Z2RroDkxz11lvw0UfaJ0AyyyGHwPTpcNVVIUnNzw8bE4lkuVQmBv4RONTd+7l7X6AjcH16w5KclUhAo0Zw9tlxRyLyS7VqwR13wMSJYVvrjh1De+vWuCMT2W6pJAFV3H1JUntZiq8TKZuvv4Znnw113WvXjjsakaJ16wZz58IJJ8DVV0P37mElgUgWSuWX+StmNtHMLjCzC4DxwMvpDUty0siR4VvVZZfFHYlIyRo3hueeC39n33kHWrcObZEsU2ISYGYG3A3cB+RFx0h3/98KiE1yycaN4R/UE06AvfeOOxqR0pnBxRfDzJmw115w2mmhvWZN3JGJpKzEUmzu7mb2sru3Bp6toJgkFz37LHz3nZYFSvbZf/8wGjB0KNx2G7z5Jjz6KBx6aNyRiZQqldsBM81Mf5slvRIJ2GefcH9VJNvUqAG33AKvvx6WD3bpEtpbtsQdmUiJUkkCOgHvmtmnZjbHzOaa2Zx0ByY55MMPYdq0MBegiuacShbr2jVUGjztNLjuOjjmGPjyy7ijEilWKjuz6KuZpFciEVYDXHhh3JGI7LiGDeHxx0NhocsvD5UG770X+vSJOzKR/5LK166bkqsHRtUCb0p3YJIjVq4M90/POSfUBxCpDMygb1+YPRsOPDDUvejbN5TDFskgqSQBByc3zKwq0CE94UjOeeghWLs2fGMSqWz22QemTg2TBh99FNq2DZMIRTJEsUmAmV1rZj8CeWa2Ojp+BJYAz1dYhFJ5bd0atmnt0iXs5S5SGVWrBn/+c0gGAI44IrQ3b44zKhGg5A2EbnH3usDf3L1edNR1913c/doKjFEqq0mTYMECjQJIbujSJdweOO88uOGGkAx89lncUUmOK/V2gLtfa2bNzKyLmR1ZeFREcFLJJRKw665w+ulxRyJSMerVgzFjYNw4mD8f2rQJbfe4I5MclcougrcCbwN/Av4QHb9P9Q3MrKqZzTKzl6L2Xmb2vpktNLMnzKxG1F8zai+Mnm+ZdI1ro/5PzKx7Un+PqG+hmV2TakySARYtgpdeChXWataMOxqRitWnT1hK2L49XHBBaK9YEXdUkoNSmRh4KrC/u/d095Oi4+QyvMeVwPyk9m3Ane6+L7ACGBD1DwBWRP13RudhZgcBfQgTFHsAw6PEoiqQAE4ADgLOjs6VbDBiRKgJMHBg3JGIxGPPPUNxoVtuCRUz8/JgypS4o5Ick0oS8BlQfXsubmbNgROBUVHbgGOAp6NTxgCnRI97R22i54+Nzu8NPO7uG9z9c2AhYTvjjsBCd//M3TcCj0fnSqZbvx5Gj4bevaFFi7ijEYlP1apwzTXw7ruhVsYxx4T2xo1xRyY5IpUkYC0w28zuM7O7C48Ur38XMAQo3HB7F2CluxdOi10MNIseNwO+AoieXxWd/5/+bV5TXP9/MbNLzKzAzAqWLl2aYuiSNk88AcuWaUKgSKH8fJg1Cy66KOw/cNhh8MkncUclOSCVJOAF4C/AO8CMpKNEZtYLWOLupZ6bbu4+0t3z3T2/SZMmcYcjw4aFAipHHx13JCKZY+edw06azz4LX3wR5guMHKlJg5JWpZYNdvcx0eS9/aKuT9x9UwrX/jVwspn1BGoB9YB/AA3MrFr0bb858HV0/tdAC2CxmVUD6gPLkvoLJb+muH7JVNOnQ0FBSATM4o5GJPOceip06hQmDA4cCC+/DKNGQePGcUcmlVAqqwO6AgsIk/CGA/9OZYmgu1/r7s3dvSVhYt/r7n4u8AZwRnRaP34uPPRC1CZ6/nV396i/T7R6YC+gFTAd+ABoFa02qBG9xwulf2SJVSIBderA+efHHYlI5tpjD3jlFbjjDpgwAVq3hldfjTsqqYRSuR1wO9DN3Y9y9yMJGwrduQPv+b/A78xsIeGe/+iofzSwS9T/O8erXgkAACAASURBVOAaAHf/CHgS+Bh4Bbjc3bdEIwmDgYmE1QdPRudKplq6NMwH6Ns3rJcWkeJVqQJXXRVGzxo1CttsX3VVmFgrUk7MS7nfZGZz3D2vtL5skZ+f7wUFBXGHkZtuvRWuvRY++ggO0mpOkZStWwdDhoTbaK1bw2OPwSGHxB2VZAkzm+Hu+UU9l8pIQIGZjTKzrtFxP6DfolI2W7aE7VSPPloJgEhZ1a4N99wD48fD99+H1QT33KNJg7LDUkkCLiMMxV8RHR9HfSKpGz8+zHjWskCR7dezJ8ydC8cdB1dcEdrffRd3VJLFUrkdsDOw3t23RO2qQE13X1sB8ZU73Q6ISbduoVb655+HXdVEZPu5h6qbV18NdevCAw9Ar15xRyUZakdvB0wGaie1awOvlUdgkiP+/e+wY+DAgUoARMqDGQwaBDNmhJUEJ50U2muz8ruZxCiVJKCWu68pbESPd0pfSFLpDB8O1auHzYJEpPwcdBC8/34YERgxAjp0CJUHRVKUShLwk5m1L2yYWQdgXfpCkkplzRp48EE480xo2jTuaEQqn5o14e9/D6Ntq1eHQkN//zts3Vr6ayXnpZIE/BZ4ysymmtk04AnC+nyR0j36aPiHSRMCRdLruOPC9sS9esEf/gDHHw+LF8cdlWS4UicGAphZdWD/qJlq2eCMpImBFcgd2rQJO6XNnKkywSIVwT1MFLziijBKcP/9cPrpcUclMdrRiYG4+yZ3nxcdWZsASAWbNi0sZ7r8ciUAIhXFDAYMgNmzYd994YwzQnvNmtJfKzknpSRAZLsMGwYNGsA558QdiUjuadUK3n4b/vjHMC+nXbtQglgkiZIASY9vvw1bovbvDztpMYlILKpXh5tugilTYONG6NIltLdsiTsyyRBlSgLM7M9pikMqm5EjYfNmuEzFJUVid+SR8OGHYZXO9ddD166waFHcUUkGKOtIwMlpiUIql02b4L774IQTwj1JEYlfgwZh46FHHgkJQZs2oS05raxJgGZ3Semeey7cDtCyQJHMYgbnnReSgEMOgXPPDceqVXFHJjEpaxLQIS1RSOWSSMBee0GPHnFHIiJF2WsvePNNuPFGeOKJMCowbVrcUUkMypQEuLtKUEnJ5s6Ft94KdcyrVo07GhEpTrVqYX7AtGnh/9WjjgrtTVoFnku0OkDKVyIBtWqFVQEikvk6dw41Bfr2DSsHDj8cFi6MOyqpIKUmAWa2Vyp9IqxaBWPHwtlnQ6NGcUcjIqmqWzfUEnjyybDrZ9u2oZ1CRVnJbqmMBDxTRN/T5R2IVAJjxsBPP2lCoEi2OvPMsP/AoYeG0bwzz4Tly+OOStKo2M3dzewA4GCgvpmdlvRUPaBWugOTLLN1a7gV0Llz2M5URLJTixbw2mtw++3wpz/Be+/Bww/DMcfEHZmkQUkjAfsDvYAGwElJR3tAG8PLL02eHIYRNQogkv2qVoUhQ+Ddd6FOnbBD4ZAhsGFD3JFJOSt1F0EzO8zd362geNJOuwimySmnwDvvwFdfhZ3LRKRy+Okn+P3v4d57w/4Djz4KBx4Yd1RSBju6i+BCM7vOzEaa2QOFRznHKNnsiy/gxRfh4ouVAIhUNjvvDCNGwPPPhyS/Q4eQEGjSYKWQShLwPFAfeA0Yn3SIBPfeG34OHBhvHCKSPiefHCYNHnFE2BOkd29YsiTuqGQHFTsxMMlO7v6/aY9EstP69TBqVPgHYs89445GRNJp991hwgS45x743/+FvDx46CFVB81iqYwEvGRmPdMeiWSnJ5+EH36AwYPjjkREKkKVKnDllfDBB9CkSdgo7MorYd26uCOT7ZBKEnAlIRFYb2arzexHM1ud7sAkSyQScMABWj4kkmtatw6JwJVXwt13Q8eOoWy4ZJVSkwB3r+vuVdy9lrvXi9r1KiI4yXAFBTB9etgnwLTBpEjOqVUL7ror3CJYujQUGfrHP0LdEMkKqZQNNjM7z8yuj9otzKxj+kOTjJdIhJnDffvGHYmIxKlHjzAK0K0b/Pa34RbBt9/GHZWkIJXbAcOBw4BzovYaIJG2iCQ7/PADjBsXEoD69eOORkTi1qRJWEZ4770wdWq4XfD883FHJaVIJQno5O6XA+sB3H0FUCOtUUnme+CBUD1MFQJFpJBZWCo8c2ZYLXTKKXDppaHgkGSkVJKATWZWFXAAM2sC6IZPLtuyJRQPOeooOPjguKMRkUxzwAFhz4EhQ2DkSGjfHmbMiDsqKUIqScDdwHPArmb2V2AacHNao5LM9vLLsGiRlgWKSPFq1IDbbgubEf30U9hc7LbbwpcIyRil7h0A/9lR8FjAgMnuPj/dgaWL9g4oB4WTgBYtgurV445GRDLd8uXhNsHTT0PXrmFXwhYt4o4qZ+zo3gEA3wNTgXeA2mbWvryCkyyzYAFMnBj+h1YCICKpaNQoFBZ78MFQWyAvD556Ku6ohNSWCP4FmEO4LXB7dPw9zXFJpho+HKpVC5sFiYikygwuuABmz4b994ezzgrtH3+MO7KclspIwFnAPu7e1d2Pjg6Vh8tFP/0UMvkzzgg1xEVEymrffcMSwuuvh0cegbZtwyRCiUUqScA8oEG6A5Es8NhjsGqVlgWKyI6pXh1uvBHefDNMFDz88NDevDnuyHJOKknALcAsM5toZi8UHqW9yMxqmdl0M/vQzD4ysxui/r3M7H0zW2hmT5hZjai/ZtReGD3fMula10b9n5hZ96T+HlHfQjO7pqwfXsrAPVQIzMuDX/867mhEpDI4/HD48EPo0weGDg3Ljj//PO6ockoqScAY4DbgVn6eE3B7Cq/bABzj7m2AtkAPM+scXetOd98XWAEMiM4fAKyI+u+MzsPMDgL6AAcDPYDhZlY1ql2QAE4ADgLOjs6VdHj77fA/6+DB2idARMpP/fowdiw8+ijMmwdt2oTbBCmsXJMdl0oSsNbd73b3N9z9zcKjtBd5sCZqVo8OB44Bno76xwCnRI97R22i5481M4v6H3f3De7+ObAQ6BgdC939M3ffCDwenSvpkEiE/1nPOaf0c0VEyuqcc8IXjTZtQjnyc86BlSvjjqrSSyUJmGpmt5jZYWbWvvBI5eLRN/bZwBJgEvApsNLdC2/8LAaaRY+bAV8BRM+vAnZJ7t/mNcX1FxXHJWZWYGYFS5cuTSV0Sfbtt2F974UXhg2DRETSoWVLmDIFbropLCFs0wbeeivuqCq1VJKAdkBnQpXAMi0RdPct7t4WaE745n7Adsa5Q9x9pLvnu3t+kyZN4gghu91/f5iwM2hQ3JGISGVXtSr88Y/wzjuh6mDXrqG9aVPckVVK1VI4Z4C7f5bcYWZ7l+VN3H2lmb1B2I2wgZlVi77tNwe+jk77GmgBLDazakB9YFlSf6Hk1xTXL+Vl0ya47z7o3h1atYo7GhHJFR07wqxZYWvim2+GV18NK5T071C5SmUk4Oki+kot9WRmTcysQfS4NnA8MB94AzgjOq0fULjX5AtRm+j51z3UNH4B6BOtHtgLaAVMBz4AWkWrDWoQJg+WumpByuj55+Gbb7QsUEQqXp06MGpUuB356aehpsCoUZo0WI6KHQmI9gs4GKhvZqclPVUPqJXCtXcHxkSz+KsAT7r7S2b2MfC4md0EzAJGR+ePBh4xs4XAcsIvddz9IzN7EvgY2Axc7u5bohgHAxOBqsAD7v5Rip9bUjVsGPzqV9CzZ9yRiEiuOv106NQJ+vUL1Upffjncptxll7gjy3rFbiBkZr0JM/dP5pffsH8kzNZ/J/3hlT9tIFQG8+ZB69Zh568hQ+KORkRy3datcOedcO210KQJjBkDxx0Xd1QZr6QNhIodCXD354Hnzewwd383bdFJ5ho+HGrWhP79445ERASqVIGrr4ZjjoFzz4Xjj4ff/S7MGahZM+7oslIqEwNnmdnlhFsD/7kN4O76zVCZrVoVtvvs0wcaN447GhGRn7VrBwUF8Ic/wB13wOTJYdLgQaoXV1apTAx8BNgN6A68SZiFr22fKruHHw4bBg0eHHckIiL/baedQhGzF18Mk5c7dAhtTRosk1SSgH3d/XrgJ3cfA5wIdEpvWBIr93AroGNHyC/yNpKISGbo1QvmzoWjjw5fWnr1gu+/jzuqrJFKElBYoWGlmR1CWL+/a/pCkti9/jr8619aFigi2aFpUxg/Hu65J9wayMsLKwikVKkkASPNrCFwPWGVwMfA/6U1KonXsGFhHsBZZ8UdiYhIaszCSEBBAey2G5x4YmivWxd3ZBmt1CTA3Ue5+4po46C93X1Xd7+3IoKTGHz5JbzwAlx0EdRKpRyEiEgGOeQQeP99uOqqMEcgPx9mz447qoxVahJgZk3NbLSZTYjaB5nZgNJeJ1nqvvvCz0svjTcOEZHtVatWWDUwcSKsWBEKDd1xR6gzIL+Qyu2AhwhV+faI2v8GfpuugCRGGzaEKly9eoUqgSIi2axbN5gzB044IdQX6N49rCSQ/0glCWjs7k8CW+E/2/xuSWtUEo+nnoKlS7UsUEQqj8aN4bnnYOTIsDNh69ahLUBqScBPZrYL4ABm1hlYldaoJB6JBOy3Hxx7bNyRiIiUH7Ow58DMmbDXXnDaaaG9Zk3ckcUulSTgd4RVAfuY2dvAw8Bv0hqVVLwZM+C992DQoFCaU0Skstl//zAacM01MHo0tG8PH3wQd1SxKvFf+2gHwKOiowswEDjY3edUQGxSkRIJ2HnnsEuXiEhlVaMG3HJLqIeyfj106RLaW3LzLneJSUC0Ze/Z7r7Z3T9y93nuvqmk10gWWrYMxo2D886DBg3ijkZEJP26doUPPwy3Bq67LmxK9MUXcUdV4VIZ933bzIaZ2RFm1r7wSHtkUnEefDBkxKoQKCK5pGFDePzxsCXxzJnQpk1o5xDzUjZbMLM3iuh2dz8mPSGlV35+vhcUFMQdRubYsgVatYIWLeDNN+OORkQkHp99FkZD330Xzj8/VE6tVy/uqMqFmc1w9yI3gkllK+EB7v7ZNhfcu1wik/i98gp8/jncemvckYiIxGfvveGtt+Cvf4Ubb4Rp02Ds2DBnoBJL5XbA00X0PVXegUhMEgnYfXc49dS4IxERiVe1ajB0KEydGtpHHBHamzfHG1caFTsSYGYHAAcD9c3stKSn6gEqKl8ZLFwIEyaEv+TVq8cdjYhIZujSJew38JvfhFGBV18NowL77BN3ZOWupJGA/YFeQAPgpKSjPXBx+kOTtBsxImS+l1wSdyQiIpmlXr0wYfDxx2H+fGjbNrRLmUeXbVKZGHiYu79bQfGknSYGRtauhWbNQm3tJ56IOxoRkcz15ZdhsuBbb8GZZ4aN1ho2jDuqlJU0MTCVrYQrTQIgScaNg5UrtSxQRKQ0e+4ZigvdckvYdyAvD6ZMiTuqcqH6sLnIPSx/ad06THwREZGSVa0ayg2/+y7Urh2KC11zDWzcGHdkO0RJQC56990w6eXyy8PGGiIikpr8fJg1Cy66CG67DQ47DD75JO6otltKScC2FQJVMTDLJRJh0su558YdiYhI9tl557A18XPPhVLD7dqFdhZOGkx1JOCyUtqSLb7/Hp56Ci64AOrUiTsaEZHsdcopMGcOHH44DBwY6q0sXRp3VGWSUhLg7heX1JYscv/9sGlT2DJYRER2zB57hMqrd9wR6q7k5YW6Alki1dsBzcysi5kdWXikOzBJg82bw9KW448P+2qLiMiOq1IFrroKpk+HRo2ge/fQXr8+7shKVereAWZ2G/A/wMdA4YbLDryVxrgkHV54ARYvDisDRESkfLVpAwUFMGQI3HUXTJ4Mjz0GhxwSd2TFSmUk4BRgf3fv6e4nRcfJ6Q5M0mDYsLDetVevuCMREamcateGe+6B8ePDHKz8/NDO0EmDqSQBnwEqLJ/tPv4Y3ngDLrssrHcVEZH06dkT5s6F446DK66A007LyEQgla2E1wKzzWwysKGw092vSFtUUv6GD4caNWDAgLgjERHJDbvuCi++CH/4A9x+O3z1VRiNzSCpjAS8APwFeAeYkXRItli9Omx80acPNGkSdzQiIrnDLFQXBPj663hjKUKpIwHuPqYiApE0euQRWLNG+wSIiMShefPwc/HieOMoQrFJgJk96e5nmdlcwmqAX3D3vLRGJuXDPVQIzM+Hjh3jjkZEJPc0axZ+ZtlIwJXRT00lz2ZvvBH2wn7wwbgjERHJTY0aQa1a2TUS4O7fRj+/qLhwpNwlErDLLvA//xN3JCIiucksjAZk4EhAqRMDzayzmX1gZmvMbKOZbTGz1RURnOygxYvh+efDioDateOORkQkdzVrlpEjAamsDhgGnA0sAGoDFwGJ0l5kZi3M7A0z+9jMPjKzK6P+RmY2ycwWRD8bRv1mZneb2UIzm5O8U6GZ9YvOX2Bm/ZL6O5jZ3Og1d5tpX9xfuO8+2LoVLr007khERHJb8+bZORIA4O4LgaruvsXdHwR6pPCyzcDV7n4Q0Bm43MwOAq4BJrt7K2By1AY4AWgVHZcAIyAkDcBQoBPQERhamDhE51yc9LpU4soNGzaErS179YK99oo7GhGR3FZ4OyDDCgalkgSsNbMahIJB/2dmV6XyOnf/1t1nRo9/BOYDzYDeQOGywzGEssRE/Q978B7QwMx2B7oDk9x9ubuvACYBPaLn6rn7e+7uwMNJ15JnnoElS7QsUEQkEzRvDhs3wg8/xB3JL6SSBJwfnTcY+AloAZxeljcxs5ZAO+B9oGnhpEPgO6Bp9LgZ8FXSyxZHfSX1Ly6iv6j3v8TMCsysYGmW7fW83RIJ2HffsGOgiIjEq3CZYIbNC0jlG/0X7r7e3Ve7+w3u/rvo9kBKzKwO8AzwW3f/xYTC6Bt82sdG3H2ku+e7e36TXKiYN2sWvPNOGAWoktIdHxERSafCgkEZNi+g2N8QZtbbzC5Par9vZp9FxxmpXNzMqhMSgEfd/dmo+/toKJ/o55Ko/2vCKEOh5lFfSf3Ni+iXRAJ22gkuuCDuSEREBLJyJGAIYd+AQjWBQ4GuwGWlXTiaqT8amO/udyQ99QJQOMO/H/B8Un/faJVAZ2BVdNtgItDNzBpGEwK7AROj51ZHSxgN6Jt0rdy1fHnYv/rcc6FBg7ijERERgN12CyOzGTYSUFLFwBrunnwvfpq7LwOWmdnOKVz714T5BHPNbHbUdx1wK/CkmQ0AvgDOip57GegJLCTsXHghgLsvN7O/AB9E593o7sujx4OAhwhLFydER2578EFYt04TAkVEMkm1aiERyLAkwLyY5QpmttDd9y3muU/dfZ+0RpYm+fn5XlBQEHcY6bF1K+y3H+y+O0ydGnc0IiKSrFMnqF8fXn21Qt/WzGa4e35Rz5V0O+B9M7u4iIsNBKaXV3BSjiZOhE8/1SiAiEgmysDSwSXdDrgK+KeZnQPMjPo6EOYGaD1+JkokoGlTOO20uCMREZFtNW8OkyfHHcUvlLSB0BKgi5kdAxwcdY9399crJDIpm88+g5dfhuuvhxo14o5GRES21awZrF4NP/4IdevGHQ1Q8kgAANEvff3iz3QjRoSZp5dcEnckIiJSlORaAQccEG8sEVWSqQzWroXRo+HUU39eiyoiIpml8N/nDJoXoCSgMnj8cVixAgYPjjsSEREpTuFIQAYVDFISkO3cw4TAgw+GI4+MOxoRESlOBo4ElDonQDLc++/DzJkwfDiYxR2NiIgUp3ZtaNRIIwFSjoYNC7NMzzsv7khERKQ0GVYrQElANluyBJ56KmwUlCHLTUREpATNm2skQMrJqFGwcSMMGhR3JCIikgqNBEi52Lw51AY49tiMWW8qIiKlaN4cvv8+fIHLAEoCstWLL4YhJS0LFBHJHoUrBL79Nt44IkoCslUiAS1aQK9ecUciIiKpyrBaAUoCstH8+WETiksvDXtUi4hIdsiwWgFKArLR8OFhk6CLLoo7EhERKQuNBMgO+fFHGDMGzjoLdt017mhERKQsGjQIRYM0EiDbZezYkAhcfnnckYiISFmZZVStACUB2cQ9VAhs3x46dYo7GhER2R4ZVCtASUA2efNN+PjjsCxQ+wSIiGQnjQTIdkkkwuYTffrEHYmIiGyvZs3gm29g69a4I1ESkDUWL4bnnoP+/cOkEhERyU7Nm8OmTbB0adyRKAnIGiNHhqzxssvijkRERHZEBtUKUBKQDTZuDElAz56w995xRyMiIjsig2oFKAnIBs88Ezac0LJAEZHsp5EAKZNEAvbZB7p3jzsSERHZUU2bQtWqGgmQFHz4Ibz9NgwaBFX0n0tEJOtVrQq7766RAElBIhFWA1x4YdyRiIhIecmQgkFKAjLZihWhTPA550DDhnFHIyIi5SVDCgYpCchkDz0E69ZpQqCISGWjkQAp0datYcvgLl2gXbu4oxERkfLUvHnYDG716ljDUBKQqV59FRYu1CiAiEhllCHLBJUEZKpEIiwjOeOMuCMREZHyliEFg5QEZKLPP4fx4+Hii6FGjbijERGR8qaRACnWiBGhJsDAgXFHIiIi6VCYBGgkQH5h3ToYPRp69/55uEhERCqXWrVgl100EiDbeOIJWL4cBg+OOxIREUmnDKgVoCQgk7jDsGFw0EHQtWvc0YiISDplQK2AtCUBZvaAmS0xs3lJfY3MbJKZLYh+Noz6zczuNrOFZjbHzNonvaZfdP4CM+uX1N/BzOZGr7nbzCxdn6XCTJ8OM2aEfQIqwccREZESVPKRgIeAHtv0XQNMdvdWwOSoDXAC0Co6LgFGQEgagKFAJ6AjMLQwcYjOuTjpddu+V/ZJJKBuXejbN+5IREQk3Zo1g6VLYcOG2EJIWxLg7m8By7fp7g2MiR6PAU5J6n/Yg/eABma2O9AdmOTuy919BTAJ6BE9V8/d33N3Bx5OulZ2Wro0zAfo2zckAiIiUrkVTv7+5pvYQqjoOQFN3f3b6PF3QNPocTPgq6TzFkd9JfUvLqK/SGZ2iZkVmFnB0qVLd+wTpMuoUbBxY7gVICIilV8G1AqIbWJg9A3eK+i9Rrp7vrvnN2nSpCLesmy2bIF774Wjjw6TAkVEpPLLgKqBFZ0EfB8N5RP9XBL1fw20SDqvedRXUn/zIvqz00svwZdfalmgiEguycGRgBeAwhn+/YDnk/r7RqsEOgOrotsGE4FuZtYwmhDYDZgYPbfazDpHqwL6Jl0r+wwbFjLCk0+OOxIREako9evDzjvHOhJQLV0XNrNxQFegsZktJszyvxV40swGAF8AZ0Wnvwz0BBYCa4ELAdx9uZn9BfggOu9Gdy+cbDiIsAKhNjAhOrLPJ5/Aa6/BX/4C1dL2n0NERDKNWey1AtL2W8fdzy7mqWOLONeBIvfMdfcHgAeK6C8ADtmRGDPC8OFQvXrYLEhERHJLzLUCVDEwTmvWwEMPwZlnhm2DRUQkt8Q8EqAkIE5jx8Lq1XB5kYMgIiJS2TVvHuoEbN0ay9srCYiLe6gQ2K4dHHZY3NGIiEgcmjWDzZthyZLSz00DzUSLy1tvwbx5oUiQ9gkQEfkvmzZtYvHixaxfvz7uUNKnc2eYMAG++w5WrNihS9WqVYvmzZtTvXr1lF+jJCAuiQQ0bAhnFzd/UkQkty1evJi6devSsmVLKsMecUX66acwMtyyJTRosN2XcXeWLVvG4sWL2WuvvVJ+nW4HxOGbb+C55+DCC2GnneKORkQkI61fv55ddtml8iYAADVqhJ8bN+7QZcyMXXbZpcyjJkoC4jByZCgVfNllcUciIpLRKnUCAKE+jNkOJwGwfX9WSgIq2saNcN990KMH7Ltv3NGIiEgJzIzzzjvvP+3NmzfTpEkTevXqVabrtGzZkh9++KGoNwi1YjZtKv6cNFISUNGeey5MANGyQBGRjLfzzjszb9481q1bB8CkSZNo1qzYTWu3T/Xq5TISsD2UBFS0RAL23juMBIiISMbr2bMn48ePB2DcuHGcnTShe/ny5Zxyyink5eXRuXNn5syZA8CyZcvo1q0bBx98MBdddBGhMG4wduxYOnbsSNu2bRk4cCBbqlaFTZsq9kNFtDqgIs2ZA1Onwt/+BlWrxh2NiEjW+O1vYfbs8r1m27Zw112ln9enTx9uvPFGevXqxZw5c+jfvz9Tp04FYOjQobRr145//vOfvP766/Tt25fZs2dzww03cPjhh/P//t//Y/z48YwePRqA+fPn88QTT/D2229TvXp1Bg0axKPjx9P3qKPK98OlSElARUokoFYt6N8/7khERCRFeXl5LFq0iHHjxtGzZ89fPDdt2jSeeeYZAI455hiWLVvG6tWreeutt3j22WcBOPHEE2nYsCEAkydPZsaMGRx66KEArFu3jl132im2ioFKAirKypWhTPA550CjRnFHIyKSVVL5xp5OJ598Mr///e+ZMmUKy5Yt2+7ruDv9+vXjlltu+blz+XL47LNQL6CCaU5ARXnoIVi7VhMCRUSyUP/+/Rk6dCitW7f+Rf8RRxzBo48+CsCUKVNo3Lgx9erV48gjj+Sxxx4DYMKECayIqgEee+yxPP300yyJygQvX76cL779NlwshiRAIwEVYevWsGVw587Qvn3c0YiISBk1b96cK6644r/6//znP9O/f3/y8vLYaaedGDNmDBDmCpx99tkcfPDBdOnShT333BOAgw46iJtuuolu3bqxdetWqlevTuLOO/lVTIXjzGPIPOKUn5/vBQUFFfumr74K3bvDI49A0npTEREp3vz58znwwAPjDiP9tm6FmTNhjz3CsQOK+jMzsxnunl/U+bodUBGGDYMmTeDMM+OOREREMk2VKqFyYAzLBJUEpNuiRfDSS3DxxVCzZtzRiIhIJqpRI5aCQUoC0u3ee0NZyIED445EREQyVUxVA5UEpNP69TBqFPTuDdGkEBERkf9So4ZuB1Q6TzwBy5ZpWaCIiJSsenXYvLnCiwYpCUinRAIOOACOOSbuSEREJJPVqBF+VvBogJKAdJk+HT748cLb6wAAGVZJREFUAAYNCnMCREQk61StWpW2bdtyyCGHcNJJJ7Fy5cpyue5DDz3E4MGDf+4oTAIqeF6AkoB0SSSgTh3o1y/uSEREZDvVrl2b2bNnM2/ePBo1akQikUjPG1WvHn4qCagEfvghzAc4/3yoVy/uaEREpBwcdthhfP311wBMnz6dww47jHbt2tGlSxc++eQTIHzDP+200+jRowetWrViyJAh/3n9gw8+yH777UfHjh15++23/9O/aNEijunZk7yzz+bYU07hyy+/BOCCCy7gsssuo3Pnzuy9995MmTKF/v37c+CBB3LBBReUy2dS2eB0GD0aNmzIiAmBW7fCqlUwa1YoU7BuHRQUhNtOtWrB88/DbrvBM8/A0UeH/GXDBmjQILx2zRr417+ga1eoXRsmTIAWLeCss+D220OOc+ON0KED5OX9MucpLEapuyEisqN++9vfMruc9xJu27Ytd6W4M9GWLVuYPHkyAwYMAOCAAw5g6tSpVKtWjddee43rrrvuP7sJzp49m1mzZlGz5v9v79yjq6rOBP777iMJIRBAkaIRxRcCAgHxgYgDWsBiFaudpUvbUnUtxzINah++WTBdjrVVZxSkddCx2hlGKr7KVK2KpXa0qOALHyigIoIoCjGQQMJ97PnjOyf33EtuuAl53OR+v7X2Oufs19l373vO9+1v77N3MUOGDKGqqopIJMKcOXN47bXXKC8vZ9KkSYwePRqAqqoqZvzwh8wYMYL7n3+eWbNm8cQTTwBQXV3NihUrWLp0Keeccw4vvfQS9913HyeccAJvvvkmlZWV+1UHpgS0NYkE/Pa3KjWHD2/XW338McyapWsRtQXLl2cP++tfU+effqoKAMCOHbrPd64MGaJDX2+/rdff/jbs3AkvvJAeb8AAOOss3XPptddgyhQ48URdeHHzZt1w67DD4IgjVPHo2VM34nr/fVVcxo5VxaS2Vhfj2rFDFZxoVJWS+nq1uj35JBx3nLpEQuMPGqSKUE2NxvnTn+D88zW/r7/WsO3b4aCDdDKvr2C99x6MHg1btsCECdCrl94rHFbFa9gwLevu3XpsaNByRCKqkEXsaTSMvGP37t1UVlayefNmhg4dyuTJkwGoqalhxowZrFu3DhEhFpjQd8YZZ1BeXg7oXgGffPIJX331FRMnTqR///4AXHDBBaxduxaAFStW6LbDH3zA988+m2t+9avGvM4++2xEhBEjRjBgwIDGDYyGDx/Ohg0bTAnIO558Ej75BG6/vU2ye+kluPZaPe4PBx8Mn32mQvOgg2D8eDjgABVSW7aoQjF+vFoAevZUgSiiAnr7drUK+IIvmVQBl0honp9+Clu3ah6eFYsDD4SKCshU3D2LWSPLljW9kOIXX8D996eu163TaRadRRs1Z4uoqNBdp3v1UuXniSfgqKNg3Ditt4oKbdfaWnj+eVVSjjlGp6Js2ADPPQfnnaeWntGjVfmqq4PSUj3266dxy8s1rz591JnlxshHcu2xtzX+nIBdu3YxdepUFixYwKxZs5g9ezaTJk3i8ccfZ8OGDUycOLExTXHgpRYOh4nH47ndLBrV3kEAP69QKJSWbygUyj3fZjAloK1ZsEDfzNOntyr5I4+0bIuBUaPg6qu1t+lz7LH59yJPJlVZ2LVLr0Wa3jXTuVSYc6qE1NSocrF9uyoXkYj2piMRVSDq6lI96tJS2LRJe/4rVqQ/T9Om6ZDGjh1qibjgArUOFBfrPUW0p//ZZ+qGDIGhQ2HhQrUsfPyx3kcEBg/Wnv3bb6vBJxZTq0EsBqtX64aRiQQ8/LAK4YMP1t9SUpJaNyocTrlEQpeUePVV3Wjyrbd02KWmRs9razXN+vXqSkvhyy/1t/q/8bXXtJ7q6/VeAI891vK2qqjQ/L1OCpWVWrfRqLZfPK7Kw5492h7vv69pvvhC6/aMM3RKzKBBWp6xY9WSc9RRukfKmDFqxSkt1f9Enz5w+OHa3sXFqlD27attFY2mLCWhUGqIKhTSsGhUlRsR9cu3/73RfSgtLWXevHmce+65zJw5k5qaGg455BBA5wHsi5NOOokrr7ySbdu20bt3b5YsWcKoUaMAOOWUU1i8eDHfP/VUFj38MBMmTGjPn5KGKQFtydq1umPgL36RmumZA3PmaJLmGD9eX6RHHKHXgwZpj72rEArpi78rsj8bPwbmBLWa2loVlq0lmVSFob4+tShZcbEqCrW1UF0NH36oCtDAgSrIfctm796qoMTjGre4WIVyXZ0qYtu2aZ41NTpEA6oAQMoqtGqVuvamqEgVh9691XpywAGqYNXVqYKycaMqK5WVqlAOG6aWrdJS/X9WV+v1rl2q5Ph1EIupn3OqjIDW5fLlMHkyHHmkWricgxNO0DgDBmg5ysrUihOPax7+EFE0qvVqikvXYvTo0YwcOZKHHnqIa665hhkzZnDzzTdz1lln7TPtwIEDmTt3LuPGjaNPnz5pZvz58+dzySWXcNstt9C/rIzfPfJIe/6MNGwr4bbkqqvgN7/Rt803vrHP6EcemXpxBpk0CS69VF8URx3VDuU0jFaQTKYsJsmkCrB4XC0CpaWwZk32dA0Nqlxs2aKCubZW061frxNK6+pSwvCLL1Rw+mmTSbWG9Oihz4xzKvATCXWvv67WhP79VdDu3p2yOO3apYpLr17w97+rX0mJCvuaGnW5EAqlytMW+FaNcFiV+V69VNnYulV3HX//fbXyXHGFKlo9e+pvLC3Venr6aVXizjkn1S6lpVovJSU6xBOJaH6hkFpWdu3SeMXFqsRAyqpWVqbxGhr0mEhomrIyHTaqr1f/oiLNO6hM1tdr+cLhVP03NGh5fKtUQ4P+V3r3VuuRiOZRWqr5RaMpi1yQgtlK2GfrVpUfI0em1g1oIS3dStgsAW1FXR088IDOIGtGAUgmtTf/ySfp/r/8pfZSCun/bnQtfEEYPI9EUhMa8+2/6/e06+pUmIEK1p07Uxu2JZPpK7U6pwLJH24KhdSFwynBnUjodTKpgrCmJqUY1dWlhiwaGvR61y69XzicGk5qaND8P/tMBeju3RrWo4fO//GHfxYsUOFYVqblzvyEfO3aDl9ltt3w26RnT62L0lIdHk0kNDwW07rz6z8SSV1HItp2fpvF41pvzqWGSoPDb76yEVRq/TL47Z1Man7BoVb/f9Bu1pvgqoGtVAJaiikBbcWiRfo2yPJZ4Oefq6k1SDgM996rf3br8RtG2+K/vH0FAFTRzne2b1drSJCSElUQampUwPnCq6RElQxfiCUSqeGLeFzfLeGwKhm+TPGFJqSE5J49KQUomUx9PbNnT2q+jXOad329xlmzRi0zPXqk5qUUFaXmj+zZk/7lSyik5di5U/PyrQv19Vom32pRXKz5+MNXflmjUU3nWyog9fWNbw3xLQ6QUph8Y3cbzKFrvGdQMYSUspA5PyWZVL/g3BU/PkAo5HDOEY87GhqgOBGiFIjvrifSQeO9pgS0Bc7B3XfrLL3x49OCfJNfJgsX6oxtGw80DCNIv37qmiKHUcZuRSQChx6qglKHrlPn6dek+ScSehTRYzKZcv51Ko/0tMG8/XhN3TeZ1PsA7NmTHpa7y/i9QCWw/fOvOejAA9qxZtPvaewvL76o08QXLkyT6nfdlf4NfWUl/PSn+Wc2NQyj66JCL048HicejxGPx7zr1DH7ecvTBP389O2VZunSPxKL1XV4nYoIIIikXPAahFAo6O+nCe0V3zkhmdzbzz96d2zMc2usFinPogW2A6YEtAULFujslosuAlQnCH7hMWYMVFWBt8aDYRgdTDKZ7FRhlovwbSpNLNZ8PolEjIRvG+9AwuEIkUiUcDjaeB4K6TF4Hg5HCIejjefRaAk9eqTSRCJ6jEb98NQxGo1SVlZO//4HpwnjdMEMoVC6UM7d0Wy+Pk1Za3P1ax0D2iqjnDAlYH/ZskXX3K2qItmjJ1dfCfPmpYLvvhuOPlo/VzKMfEV7k4l2E2aZaRKJWNb0uQrflqTp6K+gQqFQTkJx7/NiSkrK0gRk+nlKaEYikcZj0K+oaO/woqIoRUXBcA0LngfTRKOpfFLhES+PsCdw955gty/XUtasWcNhhx3cto1jpGFKwP6ycCHE46yo/BGnBMb+b7xRF+0x03/3we9NtpVgak2aXHuiLb1PItFGs6ZaQGYPsimh2FSPMxotoaQkspeg9HuQmUIxU2hmE3q+UAwKzaAA9NNk+vlpgkI1HA7lJBDbQlAa7Us4HGbEiBHE43GGDh3Kgw8+SGlpac7pf/7zn/PUU08xbdo0brvtthbd+5ZbbuGGG25oaZFbRJdfJ0BEzgTuAsLAfc65W5uL36brBMRicNhhrC8dydEf/hnQyX5XX60LkRQawd5kewizzDTam2zdmGYs1vI0yQ7+FktEmu01NiUgg/GaEpApQZneU8z0Cwq2TAGXKQCDvcbmhGp6jzTVm9Tf2n69SaPrkg/rBJSVlVHrfbN58cUXc/zxx/OTn/xkn+ni8TiRSITy8nK2b99OuKkZ4i24d64U1DoBIhIGFgCTgU3AShFZ6px7ryPuH1/yOJEtW7iKhQDMnKnrujf3n00mk202QaejJvW0pMfa0ajQa04oZhOQPSkpSReKqZ5muvnVD49GU357C73mBWRmmqZMrcF8ioqi++xNgglKw+hIJkyYwOrVq6mrq6Oqqop33nmHWCzG3LlzmT59Og888ACPPfYYtbW1JBIJysvLqa2t5fjjj+f666/n9NNP54orrmjcKvjOO+9k/Pjx1NbWUlVVxapVqxAR5syZw8qVKxs3Lxo+fDiLFi1ql9/UpS0BIjIOmOucm+pdXw/gnPtltjRtZQnYvRveKD+QgbGdHM1QvnFIgnDYn6izd4/V9+us3uS+hGK2nmamgGxqIk9QGGb6BXuU+xprVMG3t9BsqlepfhFvUlDLepImJA2ja5DWq73qqr13JNtfKithHxsT+b3xeDzO+eefz5lnnsmnn37KsGHD+N73vsfXX3/NiSeeyBtvvMGSJUu46aabWL16Nf287zyDvfmLLrqImTNncuqpp7Jx40amTp3KmjVruPbaa2loaGjcJKm6upq+ffuaJSAHDgGCq6pvAk7KjCQilwOXAwzyd2/ZT4pDMTbSm6fKDuKE4wY1CsDgRJ5sgjLYm/SFXlNCM9iTzDSrNmVqbWpM03qThmEYrcfvjYNaAi677DJOOeUUli5dyu3e9qL19fWNvfvJkyc3KgCZLFu2jPfeSxmqd+zYQW1tLcuWLWPx4sWN/n379m2vn7MXXV0JyAnn3EJQm/3YsWPbxPQRKo5yQcNHXChwc1tkaBiGYWSnk7cSDuKc49FHH2XIkCFp/q+88go9m1npL5lM8vLLL1Pi70SVB4T2HSWv2QwcGriu8Pw6BOstG4ZhFB5Tp05l/vz5jZ+evvHGGzmlmzJlCvPnz2+89pWLyZMns2DBgkb/6upqAKLRKDF/O8t2oqsrASuBo0VksIgUARcCSzu5TIZhGEY3Zvbs2cRiMUaOHMnw4cOZPXt2TunmzZvHqlWrGDlyJMOGDeOee+4B4KabbqK6uprjjjuOUaNGsXz5cgAuv/xyRo4cycUXX9xuv6VLTwwEEJFpwJ3oJ4L3O+f+tbn47bqVsGEYhtFm5MMngl2NQpsYiHPuKeCpzi6HYRiGYXQ1uvpwgGEYhmEYrcSUAMMwDMMoUEwJMAzDMPKWrj5vrSNpTV2ZEmAYhmHkJSUlJWzbts0UgRxwzrFt27YWr0HQ5ScGGoZhGN2TiooKNm3axJdfftnZRekSlJSUUFFR0aI0pgQYhmEYeUk0GmXw4MGdXYxujQ0HGIZhGEaBYkqAYRiGYRQopgQYhmEYRoHS5ZcNbiki8iXwSRtmeSDwVRvmZ7QOa4f8wdoiP7B2yB86uy0Oc871byqg4JSAtkZEVmVbk9noOKwd8gdri/zA2iF/yOe2sOEAwzAMwyhQTAkwDMMwjALFlID9Z2FnF8AArB3yCWuL/MDaIX/I27awOQGGYRiGUaCYJcAwDMMwChRTAlqJiJwpIh+IyHoRua6zy9NdEJENIvK2iLwpIqs8v34i8pyIrPOOfT1/EZF5XhusFpExgXxmePHXiciMgP/xXv7rvbTS8b8yPxGR+0Vkq4i8E/Br97rPdo9CJUs7zBWRzd5z8aaITAuEXe/V6QciMjXg3+Q7SkQGi8grnv8fRKTI8y/2rtd74Yd3zC/OX0TkUBFZLiLvici7InKl5999ngvnnLkWOiAMfAgcARQBbwHDOrtc3cEBG4ADM/x+DVznnV8H/Mo7nwY8DQhwMvCK598P+Mg79vXO+3phr3pxxUv7rc7+zfnigNOAMcA7HVn32e5RqC5LO8wFftZE3GHe+6cYGOy9l8LNvaOAh4ELvfN7gB955zOBe7zzC4E/dHZddLYDBgJjvPNewFqvzrvNc2GWgNZxIrDeOfeRc24PsBiY3sll6s5MBx70zh8Ezg34/94pLwN9RGQgMBV4zjm33TlXDTwHnOmF9XbOvez0yfp9IK+Cxzn3N2B7hndH1H22exQkWdohG9OBxc65Bufcx8B69P3U5DvK62WeDjzipc9sU78dHgHOKHRLmXNui3Pude98J7AGOIRu9FyYEtA6DgE+DVxv8vyM/ccBz4rIayJyuec3wDm3xTv/HBjgnWdrh+b8NzXhb2SnI+o+2z2MdH7smZjvD5iGW9oOBwBfO+fiGf5peXnhNV58A/CGR0YDr9CNngtTAox841Tn3BjgW8A/i8hpwUBPW7ZPWjqBjqh7a9+s/BY4EqgEtgB3dG5xCgsRKQMeBa5yzu0IhnX158KUgNaxGTg0cF3h+Rn7iXNus3fcCjyOmjW/8MxmeMetXvRs7dCcf0UT/kZ2OqLus93D8HDOfeGcSzjnksC96HMBLW+HbaiJOpLhn5aXF17uxS9oRCSKKgCLnHOPed7d5rkwJaB1rASO9mbZFqGTaJZ2cpm6PCLSU0R6+efAFOAdtG792bQzgD9650uBH3gzck8Gajzz2TPAFBHp65lNpwDPeGE7RORkb6zzB4G8jKbpiLrPdg/DwxcGHt9BnwvQurvQm9k/GDganWjW5DvK61EuB77rpc9sU78dvgv8xYtfsHj/1f8E1jjn/i0Q1H2ei/acWdmdHToLdC06A/fGzi5Pd3DoTOa3PPeuX6/ouOTzwDpgGdDP8xdggdcGbwNjA3ldik6SWg9cEvAfi75APwTuxlswy5wDeAg1NcfQscnLOqLus92jUF2Wdvgvr55Xo8JhYCD+jV6dfkDga5ds7yjvOXvVa58lQLHnX+Jdr/fCj+jsuuhsB5yKmuFXA296blp3ei5sxUDDMAzDKFBsOMAwDMMwChRTAgzDMAyjQDElwDAMwzAKFFMCDMMwDKNAMSXAMAzDMAoUUwIMo4sjIk5E7ghc/0xE5rZR3g+IyHf3HTPn/G5oq7z2cZ+JInJKK9JtEJED26NMhpGPmBJgGF2fBuC8fBNegVXpgrRYCRCRcCtuPxFosRJgGIWGKQGG0fWJAwuBqzMDMnvyIlLrHSeKyAsi8kcR+UhEbhWRi0XkVW9v8yMD2XxTRFaJyFoR+baXPiwit4nISm9Tm38K5Pt/IrIUeC+jLLcCPUTkTRFZ5Pk94W0W9W5gwyhEpFZE7hCRt4BxInKZd/9XReReEbnbi9dfRB71yrFSRMZ7G71cAVzt3WtCU/G89AeIyLPe/e9DF3sxjIKhKU3dMIyuxwJgtYj8ugVpRgFD0W1rPwLuc86dKCJXAlXAVV68w9G16o8ElovIUejypjXOuRNEpBh4SUSe9eKPAY5zurVtI86560Tkx865yoD3pc657SLSA1gpIo8657YBPdG92H8qIgcD/+3luxP4C7qqJMBdwL87514UkUHoUqxDReQeoNY5dzuAiPxPZjzvt88BXnTO/UJEzkJX5zOMgsGUAMPoBjjndojI74FZwO4ck6103lalIvIh4Avxt4FJgXgPO924Zp2IfAQci659PjJgZShH163fA7yaqQA0wywR+Y53fqiXxzYggW7aAqqAvOCc2+6VdQlwjBf2TWCYpLa97y2641sm2eKdBpwH4Jx7UkSqcyy3YXQLTAkwjO7DncDrwO8CfnG8YT8RCQFFgbCGwHkycJ0k/d2Quba4Q83mVc65Z4IBIjIRqMulsF7cbwLjnHO7ROSv6Pr1APXOuUQO2YSAk51z9Rl5tzaeYRQUNifAMLoJXk/5YdJN2huA473zc4BoK7L+RxEJefMEjkA3qnkG+JHoNquIyDGiOz/ui5ifBrUeVHsKwLHAyVnSrAT+wduBLQKcHwh7Fh26wCuHP9SwE+iVQ7y/ARd5ft8C+ubwGwyj22BKgGF0L+4Agl8J3IsK0LeAceTYS89gI7qr3NPAFV5v+j504t/rIvIO8B/kZllciM5dWAT8GYiIyBrgVuDlphI45zYDt3hleAlVbGq84FnAWG9y4nvohECA/wW+408MbCbevwCnici76LDAxlwqxDC6C7aLoGEYeY+IlDnnaj1LwOPA/c65xzu7XIbR1TFLgGEYXYG5IvImuu/6x8ATnVwew+gWmCXAMAzDMAoUswQYhmEYRoFiSoBhGIZhFCimBBiGYRhGgWJKgGEYhmEUKKYEGIZhGEaBYkqAYRiGYRQo/w9eo/PuY+8S0wAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklift.viz import plot_uplift_curve\n",
    "\n",
    "# with ideal curve\n",
    "# perfect=True\n",
    "plot_uplift_curve(y_val, uplift_ct, trmnt_val, perfect=True);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:26.670587Z",
     "start_time": "2021-02-18T19:37:25.951757Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# only real\n",
    "# perfect=False\n",
    "plot_uplift_curve(y_val, uplift_ct, trmnt_val, perfect=False);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2021-02-18T19:37:29.004818Z",
     "start_time": "2021-02-18T19:37:28.871390Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Uplift auc score on full data: 0.0422\n"
     ]
    }
   ],
   "source": [
    "from sklift.metrics import uplift_auc_score\n",
    "\n",
    "# AUUQ = area under uplift curve\n",
    "auuc = uplift_auc_score(y_val, uplift_ct, trmnt_val) \n",
    "print(f\"Uplift auc score on full data: {auuc:.4f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "sklift-env",
   "language": "python",
   "name": "sklift-env"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "source": [],
    "metadata": {
     "collapsed": false
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}